gpt4 book ai didi

python - 为什么 pandas.DataFrame.update 会更改更新数据框的数据类型?

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:24 24 4
gpt4 key购买 nike

出于显而易见的原因,我想在更新后将列的数据类型保留为 int。为什么这不能按预期工作有什么想法吗?

import pandas as pd

df1 = pd.DataFrame([
{'a': 1, 'b': 2, 'c': 'foo'},
{'a': 3, 'b': 4, 'c': 'baz'},
])

df2 = pd.DataFrame([
{'a': 1, 'b': 8, 'c': 'bar'},
])

print 'dtypes before update:\n%s\n%s' % (df1.dtypes, df2.dtypes)

df1.update(df2)

print '\ndtypes after update:\n%s\n%s' % (df1.dtypes, df2.dtypes)

输出看起来像这样:

dtypes before update:
a int64
b int64
c object
dtype: object
a int64
b int64
c object
dtype: object

dtypes after update:
a float64
b float64
c object
dtype: object
a int64
b int64
c object
dtype: object

感谢任何有建议的人

最佳答案

这是一个已知问题。 https://github.com/pydata/pandas/issues/4094我认为您目前唯一的选择是在更新后调用 astype(int)

关于python - 为什么 pandas.DataFrame.update 会更改更新数据框的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28217172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com