gpt4 book ai didi

python - 用回车符和空行连接多个 pandas 列

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:10 34 4
gpt4 key购买 nike

我正在尝试在 pandas DataFrame 中连接多个列,所有字符串;形成一个新的列。我正在使用 .str.cat,以便我可以在列之间包含一个回车符以进行连接。

但是,如果一行中的任何列为空白或 NaN,我会得到 NaN 作为该行的完整结果。

我查看了选项,第三个答案看起来很有趣: pandas combine two strings ignore nan values

但是我看不到将其扩展到 > 2 列的方法,但仍然不是 DataFrame 的所有列,这是必需的。

前两个答案不允许添加回车,这也是必需的。

这是我的代码:

mydf['Address'] = mydf['full name'].str.cat(mydf['Delivery address 1'], sep ='\n').str.cat(mydf['Delivery address 2'], sep ='\n').str.cat(mydf['Delivery city'], sep ='\n').str.cat(mydf['Delivery state'], sep ='\n').str.cat(mydf['Delivery postcode'], sep ='\n')

对于任何字段为空白的任何行,这会导致空白 mydf['Address']

我的代码或方法有什么错误?

最佳答案

我想你需要apply使用 axis=1 按行处理 dropna用于删除 NaN:

#columns for join
cols = ['full name','Delivery address 1','Delivery address 2',
'Delivery city','Delivery state','Delivery postcode']

mydf['Address'] = mydf[cols].apply(lambda x: '\n'.join(x.dropna()), axis=1)

如果某些列是数字:

mydf['Address'] = mydf[cols].apply(lambda x: '\n'.join(x.dropna().astype(str)), axis=1)

关于python - 用回车符和空行连接多个 pandas 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002832/

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