使用DataFrame.replace时是否可以强制pandas不转换数据类型

时间:2017-08-21 21:05:37

标签: python pandas

这是一个有效的例子:

df = pd.DataFrame({'A': [-39882300000000000000]}, dtype='object')

df.replace({',': '.'})引发OverflowError,因为代码中的某处convert标志设置为True。我不确定,但可能是因为大熊猫推断它只包含数字。

我从Excel工作簿中读取数据,并且我希望在使用df.replace时阻止此转换。有办法吗?

2 个答案:

答案 0 :(得分:8)

df.update(df.blocks['object'].astype(str).replace({',': '.'}))

答案 1 :(得分:6)

这个怎么样:

In [25]: df.loc[:, df.dtypes=='object'] = \
             df.select_dtypes(['object']).astype(str).replace({',': '.'})

这仅适用于.replacestring)dtype

的列object