python - 如何将列中的数字映射到数据框中的字符串
问题描述
我有一个 excel 文件,其中有一列如下:
数字(列名)
1 10 11
1 10 13
1 10 12
1 15 23
每行中的每个数字表示一个字母,其中 1 = 'a',2 = 'b'... 等等。
如何将每行的每个数字映射到一个字母?
谢谢
dataframe.meal_swap.replace(映射)
</p>
线值
0 南
1 南
2 钠
3 钠
4 南
...
3200 1 6 20
3201 1 6 21
3202 1 6 21
3203 1 6 21
3204 1 6 21
名称:meal_swap,长度:3205,dtype:对象
解决方案
创建所有映射的字典
mappings = {1: 'a', 10: 'b', 15: 'c', 11: 'd', 12: 'e', 13: 'f', 23: 'g'}
利用pandas.DataFrame.replace
df.replace(mappings)
或者,pandas.DataFrame.applymap
用于应用地图(效率较低)
df.applymap(lambda x: mappings.get(x, pd.np.nan))
推荐阅读
- python - 在 3d 投影 matplotlib 图中添加图片/缩略图
- android - Android:比特币 J INSTALL_FAILED_NO_MATCHING_ABIS:提取原生库失败,res=-113
- android - 为 arm/arm64 构建 android sdk 工具(aapt、adb 等)
- sql - 按表 b 日期连接和分组表 a 行
- c - 这个函数是可重入的吗?
- c# - 如何使用 C# 中的复选框将文本框的内容更改为任何一个特殊字符?
- apache-kafka - 如何从微服务调用使用 Kafka 事务生产者
- javascript - 让画布透明
- leaflet - 传单自定义图标标记旋转一个角度,变换样式冲突
- angular - 如何在 Angular 2+ 项目中调用 circleCI 环境变量?