gpt4 book ai didi

mysql - Pandas dataframe 列的数据类型已更改为 Null Mysql 列值从 Int 到 Float

转载 作者:行者123 更新时间:2023-11-30 21:49:49 25 4
gpt4 key购买 nike

我正在通过读取 Mysql 表使用 python panadas 创建数据框。因为我有几个 INT 数据类型的列,但其中有 null 值。当我创建数据框时,所有这些列的数据类型都更改为 float,null 值更改为 NaN

如何保持相同的格式。

我试过这样做。

df 是初始数据帧,之后是

df2 = df.astype(object).where(pd.notnull(df), None)

但是一些列的值被更改为小数。

最佳答案

这里的问题是 pandas 会将列检测为 int,但是由于存在 NULL 值,它会将这些值作为 NaN。pandas/numpy 中的 NaN 值类型为 float,因此整个列将被转换为 float。如果你想重新转换为 int,你应该像这样转换非 NaN 值:

df.ix[~pd.isnull(df["column"]),"column"] = df.loc[~pd.isnull(df["column"])]["column"].astype(int)

关于mysql - Pandas dataframe 列的数据类型已更改为 Null Mysql 列值从 Int 到 Float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47787628/

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