将数字列与数据帧组合在一起

时间:2017-03-07 10:15:55

标签: python pandas dataframe

我有int个带数据框的列。

我想创建一个新列,用于保存行的文本表示。

df['text'] = df[['project', 'from', 'to', 'score']].apply(lambda x: '_'.join(x), axis=1)

我收到以下错误TypeError: ('sequence item 1: expected string or Unicode, int found', u'occurred at index 0')

如何使用文本生成功能添加casting to string

1 个答案:

答案 0 :(得分:2)

尝试通过astype投射到str

df['text'] = df[['project', 'from', 'to', 'score']]
                .apply(lambda x: '_'.join(x.astype(str)), axis=1)

或者:

df['text'] = df[['project', 'from', 'to', 'score']]
                 .astype(str)
                 .apply(lambda x: '_'.join(x), axis=1)