Python 如何将列中的数字映射到数据帧中的字符串
我有一个excel文件,其中有一列: 数字列名 11011 11013 11012 11523 每行中的每个数字表示一个字母,其中1='a',2='b'。。。等等 如何将每行的每个数字映射到一个字母 多谢各位 dataframe.mean\u swap.replacemappings 行值 0南Python 如何将列中的数字映射到数据帧中的字符串,python,pandas,Python,Pandas,我有一个excel文件,其中有一列: 数字列名 11011 11013 11012 11523 每行中的每个数字表示一个字母,其中1='a',2='b'。。。等等 如何将每行的每个数字映射到一个字母 多谢各位 dataframe.mean\u swap.replacemappings 行值 0南 ... 1楠 ... 2楠 ... 3南 ... 4楠 ... 32001620 3201611 32021621 3
...
1楠
...
2楠
...
3南
...
4楠
...
32001620
3201611
32021621
3203 1 6 21
32041621
名称:膳食交换,长度:3205,数据类型:object创建所有映射的字典
mappings = {1: 'a', 10: 'b', 15: 'c', 11: 'd', 12: 'e', 13: 'f', 23: 'g'}
使用pandas.DataFrame.replace
或者,使用pandas.DataFrame.applymap以降低映射的应用效率
df.applymap(lambda x: mappings.get(x, pd.np.nan))
是 啊我想我错过了。它会简化很多,而且效率更高。感谢@ankydataframe['mean_swap']的帮助。替换映射0 NaN 1 NaN 2 NaN 3 NaN 4 NaN。。。3200 1 6 20 3201 1 6 21 3202 1 6 21 3203 1 6 21 3204 1 6 21名称:膳食交换,长度:3205,数据类型:object我刚刚运行了它,但它仍然显示相同的输出。。。我做得对吗?请提供适当的例子来改进你的问题。你可能想澄清一下@阿奎拉姆