连接熊猫数据框中的两列

Posted

技术标签:

【中文标题】连接熊猫数据框中的两列【英文标题】:Concatenate two columns in pandas data frame 【发布时间】:2020-10-13 06:38:36 【问题描述】:

我的数据框看起来像 -

state        msg              value
aa          a,b,r              .22
bb          m,b,r             1.43
cc          a,b,q              .33
dd          h,h,f              .25

我希望我的数据框看起来像 -

state        msg              value      text
aa          a,b,r              .22      a,b,r .22
bb          m,b,r             1.43      m,b,r 1.43
cc          a,b,q              .33      a,b,q .33
dd          h,h,f              .25      h,h,f .25

我已经完成了-

df.info()

 #   Column        Non-Null Count  Dtype 
---  ------        --------------  ----- 
 0   state         6925 non-null   object
 1   msg           6925 non-null   object
 2   value         6925 non-null   object

df['text'] = df['state'].astype(str).str.cat(df['value'], sep=' ')

但是得到了这个错误-

TypeError: Concatenation requires list-likes containing only strings (or missing values). Offending values found in column mixed.

并且不存在缺失值或空值。

【问题讨论】:

df['msg'].astype(str).str.cat(df['value'].astype(str), sep=' ')? 【参考方案1】:

您只需要更改从“值”列中获取的值的类型即可进行连接。连接仅适用于合适的数据类型。在您的代码中,它是 string + float 不起作用。 这将帮助您:

df['text'] = df['state'].astype(str).str.cat(df['value'].astype(str), sep=' ')

【讨论】:

以上是关于连接熊猫数据框中的两列的主要内容,如果未能解决你的问题,请参考以下文章

如何根据合并的数据框之一的两列的值在熊猫数据框中添加值

如何基于每个数据框中具有不同名称的两列将两个数据框与 dplyr 连接起来? [复制]

如何使用点绘制熊猫数据框的两列

需要合并数据框中的两列[重复]

根据熊猫中的两列数据计算平均值和平均值[重复]

如何比较数据框中的两列,检查它们之前是不是存在?