2017-03-01 72 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

相關問題