gpt4 book ai didi

python - 合并 Pandas 中的多个列但跳过某些项目

转载 作者:行者123 更新时间:2023-12-03 08:07:44 25 4
gpt4 key购买 nike

我有一个像这样的数据框:

Fruit   | Drink | Napkin
------------------------
Banana | Coke | No
Apple | No | Red
Kumquat | Beer | White
No | No | Green

我想将这些列合并成一个新列,但是,这是我遇到的问题,我必须跳过“Nos”,即生成:

Fruit   | Drink | Napkin | Combined
-----------------------------------
Banana | Coke | No | Banana, Coke
Apple | No | Red | Apple, Red
Kumquat | Beer | White | Kumquat, Beer, White
No | No | Green | Green

我可以找到很多关于组合列的建议,但没有找到关于如何在跳过编号的同时做到这一点的建议。

最佳答案

您可以replace对 NaN 的否定,stack摆脱它们并与 GroupBy.agg 聚合:

df['combined'] = (df
.replace('No', pd.NA)
.stack()
.groupby(level=0)
.agg(','.join)
)

输出:

     Fruit Drink Napkin            combined
0 Banana Coke No Banana,Coke
1 Apple No Red Apple,Red
2 Kumquat Beer White Kumquat,Beer,White
3 No No Green Green

关于python - 合并 Pandas 中的多个列但跳过某些项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71668518/

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