这是一个有效的例子:
df = pd.DataFrame({'A': [-39882300000000000000]}, dtype='object')
df.replace({',': '.'})
提出一个 OverflowError
因为在代码中的某个地方 convert
flag设置为True。我不确定,但可能是因为大熊猫推断它只包含数字。
我从Excel工作簿中读取数据,我想在使用时阻止此转换 df.replace
。有办法吗?
这是一个有效的例子:
df = pd.DataFrame({'A': [-39882300000000000000]}, dtype='object')
df.replace({',': '.'})
提出一个 OverflowError
因为在代码中的某个地方 convert
flag设置为True。我不确定,但可能是因为大熊猫推断它只包含数字。
我从Excel工作簿中读取数据,我想在使用时阻止此转换 df.replace
。有办法吗?
df.update(df.blocks['object'].astype(str).replace({',': '.'}))
这个怎么样:
In [25]: df.loc[:, df.dtypes=='object'] = \
df.select_dtypes(['object']).astype(str).replace({',': '.'})
这将适用 .replace
只有a的列 string
(object
)dtype