gpt4 book ai didi

python - pandas.DataFrame.update 中不需要的类型转换

转载 作者:太空狗 更新时间:2023-10-30 00:07:39 26 4
gpt4 key购买 nike

pandas 在更新中将列的类型从 int 更改为 float 是否有任何原因,我可以阻止它这样做吗?这是问题的一些示例代码

import pandas as pd
import numpy as np

df = pd.DataFrame({'int': [1, 2], 'float': [np.nan, np.nan]})

print('Integer column:')
print(df['int'])

for _, df_sub in df.groupby('int'):
df_sub['float'] = float(df_sub['int'])
df.update(df_sub)

print('NO integer column:')
print(df['int'])

最佳答案

原因如下:由于您有效地屏蔽了列上的某些值并替换了它们(使用您的更新),因此某些值可能会变成 `nan

在整数数组中这是不可能的,所以数字数据类型被先验地转换为 float (为了效率),因为首先检查比这样做更昂贵

dtype 的改变是可能的......只是现在不在代码中,因此这是一个错误(虽然修复起来有点不平凡):github.com/pydata/pandas/issues/4094

关于python - pandas.DataFrame.update 中不需要的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398216/

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