0%

pandas写入数据库时不理解nan

用 None 替换 Pandas 或 Numpy Nan 以与 MysqlDB 一起使用

我正在尝试使用 MysqlDB 将 Pandas 数据框(或可以使用 numpy 数组)写入 mysql 数据库。 MysqlDB 似乎不理解“nan”,我的数据库抛出一个错误,指出 nan 不在字段列表中。我需要找到一种将“nan”转换为 NoneType 的方法。

df1 = df.where(pd.notnull(df), None)

例子

In [1]: df = pd.DataFrame([1, np.nan])

In [2]: df
Out[2]: 
    0
0   1
1 NaN

In [3]: df1 = df.where(pd.notnull(df), None)

In [4]: df1
Out[4]: 
      0
0     1
1  None

还有另外一种方法

a.replace({np.nan: None})

https://stackoverflow.com/questions/14162723/replacing-pandas-or-numpy-nan-with-a-none-to-use-with-mysqldb

原文博主: 热衷开源的宝藏Boy
原文链接: http://www.fangzengye.com/article/c3e71f390827349d298162b51ffc6b48
版权声明: 自由转载-非商用-禁止演绎-保持署名| CC BY-NC-ND 3.0

微信扫码加入我的星球联系我

评论区