连接熊猫数据框中的两列

Joh*_*vis 4 python-3.x pandas scikit-learn

我的数据框看起来像 -

state        msg              value
aa          a,b,r              .22
bb          m,b,r             1.43
cc          a,b,q              .33
dd          h,h,f              .25
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

我已经做好了 -

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=' ')
Run Code Online (Sandbox Code Playgroud)

但得到这个错误 -

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

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

小智 5

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

df['text'] = df['state'].astype(str).str.cat(df['value'].astype(str), sep=' ')
Run Code Online (Sandbox Code Playgroud)