jon*_*nas 45 python replace dataframe pandas
我有一个非常大的数据集,我想用数字替换字符串.我想对数据集进行操作,而不为数据集中的每个键(列)键入映射函数.(类似于fillna方法,但用特定值替换特定字符串).反正有没有这样做?
这是我的数据集的一个例子
data
resp A B C
0 1 poor poor good
1 2 good poor good
2 3 very good very good very good
3 4 bad poor bad
4 5 very bad very bad very bad
5 6 poor good very bad
6 7 good good good
7 8 very good very good very good
8 9 bad bad very bad
9 10 very bad very bad very bad
Run Code Online (Sandbox Code Playgroud)
期望的结果:
data
resp A B C
0 1 3 3 4
1 2 4 3 4
2 3 5 5 5
3 4 2 3 2
4 5 1 1 1
5 6 3 4 1
6 7 4 4 4
7 8 5 5 5
8 9 2 2 1
9 10 1 1 1
Run Code Online (Sandbox Code Playgroud)
非常糟糕= 1,差= 2,差= 3,良好= 4,非常好= 5
//乔纳斯
wai*_*kuo 62
使用替换
In [126]: df.replace(['very bad', 'bad', 'poor', 'good', 'very good'],
[1, 2, 3, 4, 5])
Out[126]:
resp A B C
0 1 3 3 4
1 2 4 3 4
2 3 5 5 5
3 4 2 3 2
4 5 1 1 1
5 6 3 4 1
6 7 4 4 4
7 8 5 5 5
8 9 2 2 1
9 10 1 1 1
Run Code Online (Sandbox Code Playgroud)
考虑到data你pandas DataFrame也可以使用:
data.replace({'very bad': 1, 'bad': 2, 'poor': 3, 'good': 4, 'very good': 5}, inplace=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75393 次 |
| 最近记录: |