gpt4 book ai didi

python - 如何在 Python Pandas Dataframe 中有条件地连接 2 列

转载 作者:行者123 更新时间:2023-12-05 08:45:11 26 4
gpt4 key购买 nike

我有以下数据框:

d = {'col1': [1, "Avoid", 3, "Avoid"], 'col2': ["AA", "BB", "Avoid", "Avoid"]}
df = pd.DataFrame(data=d)
df

col1 col2
0 1 AA
1 Avoid BB
2 3 Avoid
3 Avoid Avoid

我必须有条件地将 col1col2 连接成 col3。条件:

  • 只连接 2 列,只要它们都不是避免
  • 如果col1col2中的任何一个是Avoid,col3也将等于Avoid
  • 执行连接时,需要在col3 的列值之间添加"& "。例如,col3 的第一行将是"1 & AA"

最终结果应该如下所示:

    col1    col2    col3
0 1 AA 1 & AA
1 Avoid BB Avoid
2 3 Avoid Avoid
3 Avoid Avoid Avoid

如何在不处理 for 循环的情况下执行此操作?

最佳答案

在纯 python 中对字符串运行列表理解:

out = [f"{l}&{r}" 
if 'Avoid' not in {l, r}
else 'Avoid'
for l, r in zip(df.col1, df.col2)]
df.assign(col3 = out)
col1 col2 col3
0 1 AA 1&AA
1 Avoid BB Avoid
2 3 Avoid Avoid
3 Avoid Avoid Avoid

关于python - 如何在 Python Pandas Dataframe 中有条件地连接 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73715912/

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