pandas dataframe将字符串追加到id列

时间:2018-03-19 16:25:25

标签: python pandas

我在pandas中加载了一个csv文件,我想用字符串附加id

这是我的代码。

for index_data, row_data in dataset.iterrows():
      dataset.set_value(index_data,'person_id', "u_"+ row_data['person_id'].tostring())

所以基本上不是1,2 ... n我想要的是u_1,u_2,u_3但是我一直收到这个错误

ValueError: invalid literal for long() with base 10: 'u_'

任何解决方案?

1 个答案:

答案 0 :(得分:1)

问题是因为person_id是一个整数列,set_value期望相同 dtype的值与要变异的列相同。由于您传递了一个字符串,因此会抛出错误(它需要很长的字符串,而不是字符串)。

这是执行它的pandaic方式 - 矢量化字符串连接:

dataset['person_id'] = 'u_' + dataset['person_id'].astype(str)