gpt4 book ai didi

python - 将两列 Pandas 数据框合并为一个字符串

转载 作者:行者123 更新时间:2023-11-28 19:02:24 25 4
gpt4 key购买 nike

我有以下数据框

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

我想将通过的列和得分合并为如下的 1 列

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.applyaxis=1 一起使用

演示:

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'])
df["New"] = df.apply(lambda x: "yes_{}".format(int(x["score"])) if x["passed"] == "yes" else "no", axis=1)
print(df)

输出:

  passed  score    New
0 yes 8.0 yes_8
1 yes 7.0 yes_7
2 no NaN no
3 yes 7.0 yes_7
4 no NaN no

关于python - 将两列 Pandas 数据框合并为一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51260268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com