2017-03-01 73 views
0

您能否支持我阐明将选定的Dataframe列转换为字符串的正确方法?python3熊猫 - #TypeError:不能将'int'对象隐式转换为str

如果我用下面的语句数据框 'DF' 的 'PRODUCT_ID' 部分被自动选择为整数

df['Product_ID']=df['Product_ID'].to_string() 

产生错误:

TypeError: Can't convert 'int' object to str implicitly 

由产生同样的问题.astype(str).apply(str)

临时NKS!

回答

1

首先,请注意,to_string.astype(str)做了不同的事情。 to_string返回单个字符串,而.astype(str)返回一个包含字符串值的系列。你想要做什么?

其次,你有多确定你正在使用整数系列? df['Product_ID'].dtype返回什么?

第三,你可以尝试发布一个可重现的例子吗?一种方法来缩小导致问题的数据:

for i,v in enumerate(df['Product_ID'].values): 
    try: 
     str(v) 
    except TypeError: 
     print i, v 
+0

感谢您的及时答复。 – gualfab

+0

感谢您的及时回复。我使用了命令:TypeCheck = df.dtypes并验证'Product_ID'是'int64'...我尝试添加一个新列df ['Project_ID_textcopy'] = df ['Project_ID'] .to_string()正常。这似乎是问题产生时,我要求在同一行重写列本身df ['Project_ID'] = df ['Project_ID']。to_string() – gualfab

+0

有趣的是,我仍然无法重现这一点。 – exp1orer

相关问题