gpt4 book ai didi

python - 将 Pandas DataFrame 中的列类型更改为 int64

转载 作者:行者123 更新时间:2023-12-01 03:25:59 26 4
gpt4 key购买 nike

我正在尝试使用 .map() 在 DataFrame 中将列的数据类型从 type: object 更改为 type: int64

   df['one'] = df['one'].map(convert_to_int_with_error)

这是我的功能:

def convert_to_int_with_error(x):
if not x in ['', None, ' ']:
try:
return np.int64(x)
except ValueError as e:
print(e)
return None
else:
return None

if not type(x) == np.int64():
print("Not int64")
sys.exit()

此操作已成功完成。但是,当我完成后检查数据类型时,它会恢复为 type: float:

print("%s is a %s after converting" % (key, df['one'].dtype))

最佳答案

我认为问题是您有问题的值从 None 转换为 NaN,因此 int 被转换为 float > - 参见docs .

您可以使用 to_numeric 代替 map使用参数 errors='coerce' 将有问题的值转换为 NaN:

df['one'] = pd.to_numeric(df['one'], errors='coerce')

关于python - 将 Pandas DataFrame 中的列类型更改为 int64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41398007/

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