【问题标题】:python3 pandas - #TypeError: Can't convert 'int' object to str implicitlypython3 pandas - #TypeError:无法将'int'对象隐式转换为str
【发布时间】:2017-07-21 03:42:24
【问题描述】:

您能否支持我澄清将选定的 Dataframe 列转换为字符串的正确方法?

数据框“df”的“Product_ID”部分自动选择为整数

如果我使用以下语句:

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

产生错误:

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

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

谢谢!

【问题讨论】:

    标签: python string pandas int typeerror


    【解决方案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
    

    【讨论】:

    • 感谢您的及时回复。
    • 感谢您的及时回复。我使用了命令:TypeCheck = df.dtypes 并验证 'Product_ID' 是 'int64'... 我尝试添加一个新列 df['Project_ID_textcopy'] = df['Project_ID'].to_string() 并且这项工作适当地。当我要求在同一行中覆盖列本身时,似乎会产生问题 df['Project_ID'] = df['Project_ID'].to_string()
    • 有趣,我仍然无法重现。
    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 2013-05-17
    • 2014-08-03
    相关资源
    最近更新 更多