【发布时间】:2018-04-10 16:47:31
【问题描述】:
我正在尝试在 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']。
我的代码或方法有什么错误?
【问题讨论】:
-
创建一些玩具数据供我们试验,并向我们展示您期望的结果是什么样的
-
相关答案:Iteratively concatenate columns in pandas with NaN values...向@piRSquared 大喊:)