如何在读取熊猫csv文件时重命名值
问题描述:
当我在一个命令行中读取csv文件时,如何重命名这些值?如何在读取熊猫csv文件时重命名值
df = pd.read_csv('aaa.csv')
我希望看到这个数据帧
Hobby Sex No
0 0 12345
0 1 67788
0 1 0909
1 1 5867433
像这样新的值转换。
Hobby Sex No
Travel Female 12345
Travel Male 67788
Travel Male 0909
Dance Male 5867433
答
变换器:
dict
,默认None
字典的功能用于转换某些列中的值。键可以是整数或列标签
示范
converters = dict(Hobby=lambda x: {'0': 'Travel', '1': 'Dance'}[x],
Sex=lambda x: {'0': 'Female', '1': 'Male'}[x])
df = pd.read_csv('aaa.csv', converters=converters)
df
+0
非常感谢! lambda函数之后的[x]做什么? – MMM
+0
它从字典中获得x – piRSquared
答
使用带有映射的字典,并且每个字典应用到相应的列:
df['Hobby'] = df.Hobby.map({0:'Travel', 1:'Dance'})
df
Out[52]:
Hobby Sex No
0 Travel 0 12345
1 Travel 1 67788
2 Travel 1 909
3 Dance 1 5867433
不要使用文件作为变量 – Boud
@Boud我不知道很多有关处理CSV在Python中,但那有什么问题?对于正常的文件,'f = open(“stuff.txt”,'r')'很好,那么'df = pd.read_csv('aaa.csv')'有什么问题? –
这是我编辑的版本,OP是file =并取代文件功能 – Boud