用 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})