使用案例1
复制代码
1
2
3
4
5
6
7
8
9import pandas as pd df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'], 'key2' : ['one', 'two', 'one', 'two', 'one'], 'data1' : np.arange(5), 'data2' : np.arange(5,10)}) print(df) df['data1'] = df['data1'].map(lambda x : "%.3f"%x) #lambda在这里其实是在定义一个简单的函数,一个没有函数名的函数。 df# 将数字保持三位有效数字
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39key1 key2 data1 data2 0 a one 0 5 1 a two 1 6 2 b one 2 7 3 b two 3 8 4 a one 4 9 key1 object key2 object data1 int64 data2 int64 dtype: object
key1 | key2 | data1 | data2 | |
---|---|---|---|---|
0 | a | one | 0.000 | 5 |
1 | a | two | 1.000 | 6 |
2 | b | one | 2.000 | 7 |
3 | b | two | 3.000 | 8 |
4 | a | one | 4.000 | 9 |
使用案例2
复制代码
1
2
3
4
5
6
7
8df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'], 'key2' : ['one', 'two', 'one', 'two', 'one'], 'data1' : np.arange(5), 'data2' : np.arange(5,10)}) print(df) df['key1'] = df['key1'].map({'a':'c',"b":"d"}) df
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30key1 key2 data1 data2 0 a one 0 5 1 a two 1 6 2 b one 2 7 3 b two 3 8 4 a one 4 9
key1 | key2 | data1 | data2 | |
---|---|---|---|---|
0 | c | one | 0 | 5 |
1 | c | two | 1 | 6 |
2 | d | one | 2 | 7 |
3 | d | two | 3 | 8 |
4 | c | one | 4 | 9 |
使用案例3
复制代码
1
2
3
4
5
6
7
8df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'], 'key2' : ['one', 'two', 'one', 'two', 'one'], 'data1' : np.arange(5), 'data2' : np.arange(5,10)}) print(df) df['key1'] = df['key1'].map({'a':'b',"b":"a"})# 互相映射 df
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30key1 key2 data1 data2 0 a one 0 5 1 a two 1 6 2 b one 2 7 3 b two 3 8 4 a one 4 9
key1 | key2 | data1 | data2 | |
---|---|---|---|---|
0 | b | one | 0 | 5 |
1 | b | two | 1 | 6 |
2 | a | one | 2 | 7 |
3 | a | two | 3 | 8 |
4 | b | one | 4 | 9 |
使用案例4
复制代码
1
2
3
4
5
6
7
8
9df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'], 'key2' : ['one', 'two', 'one', 'two', 'one'], 'data1' : np.arange(5), 'data2' : np.arange(5,10)}) print(df) df['key1'] = df['key1'].map({'a':'aaaa'})# 互相映射 print(df)## ## 可以看到这里的问题是如果映射的值不是全部的key,那么不完整的key会被映射成Nan
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58key1 key2 data1 data2 0 a one 0 5 1 a two 1 6 2 b one 2 7 3 b two 3 8 4 a one 4 9 key1 key2 data1 data2 0 aaaa one 0 5 1 aaaa two 1 6 2 NaN one 2 7 3 NaN two 3 8 4 aaaa one 4 9
使用案例5
复制代码
1
2
3
4
5
6
7
8
9df = pd.DataFrame({'key1' : ['a', 'a', 'b', 'b', 'a'], 'key2' : ['one', 'two', 'one', 'two', 'one'], 'data1' : np.arange(5), 'data2' : np.arange(5,10)}) print(df) df['key1'] = df['key1'].map({'a':'aaaa'}).fillna(df['key1']) print(df)## ## 加入fillna就可以做到粗存在映射的键值保持原来一样
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58key1 key2 data1 data2 0 a one 0 5 1 a two 1 6 2 b one 2 7 3 b two 3 8 4 a one 4 9 key1 key2 data1 data2 0 aaaa one 0 5 1 aaaa two 1 6 2 b one 2 7 3 b two 3 8 4 aaaa one 4 9
复制代码
1
2
最后
以上就是文艺石头最近收集整理的关于pandas映射问题的全部内容,更多相关pandas映射问题内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复