python - 将两列熊猫数据框合并为一个字符串
问题描述
我有以下数据框
import pandas as pd
import numpy as np
df = pd.DataFrame(data=[['yes',8],['yes',7],['no',np.nan],['yes',7],['no',np.nan]],columns=['passed','score'])
Out[8]:
passed score
0 yes 8.0
1 yes 7.0
2 no NaN
3 yes 7.0
4 no NaN
我想将传递的列和得分合并为一列,如下所示
Out[10]:
passed
0 yes_8
1 yes_7
2 no
3 yes_7
4 no
我的尝试是df["passed"].map(str) + '_' + df["score"].map(str)
,但它不像我想要的那样干净,你能帮我吗?
解决方案
你可以这样做:
df['passed'] = (df['passed'] + '_' + df['score'].fillna('').astype(str)).str.rstrip('_')
输出:
passed score
0 yes_8.0 8.0
1 yes_7.0 7.0
2 no NaN
3 yes_7.0 7.0
4 no NaN
推荐阅读
- shopify - 我想使用“支付”的 Shopify API,但我不理解“唯一令牌”的参数
- html - 我使用边框半径来圆我的图像元素,但它不是完全圆的
- c++ - 是否在 for 循环内优化了具有 const 条件的 if 语句 (c++)
- python - 如何通过不触摸python中文本文件的每一行中该单词的其余部分来替换每行中的第一个特定特殊字符
- android - 如何从 json 中获取链接并将其连接到按钮?
- reactjs - 我不了解我的第一个 redux 计数器中的问题
- flutter - 将堆叠的卡片包裹在颤动中
- android - 迭代期间的并发修改:“_GrowableList”的实例(长度:5)。扑
- html - 来自 sms 的自动填充 2fa 如何在 ios 上的 chrome 中工作
- excel - 按钮显示另存为对话框,然后保存到设置的位置