[英]Pandas Dataframe NaN values replace by no values
我想将NaN值替换为空值,以将其写入mysql数据库。 我不想删除( df.dropna()
)整行,也不希望使用df.fillna(0)
将其替换为0。 使用df.fillna('')
或df.fillna('NULL')
出现错误消息:
(mysql.connector.errors.DatabaseError)1265(01000):行中列'log_return'的数据被截断
数据框中的数据如下所示:
date price log_return
0 2017-02-14 105.800 -0.006125
1 2017-02-13 106.450 0.004236
2 2017-02-10 106.000 NaN
我想要的是以下内容:
date price log_return
0 2017-02-14 105.800 -0.006125
1 2017-02-13 106.450 0.004236
2 2017-02-10 106.000
尝试这个:
df.where(pd.notnull(df), None)
例
df = pd.DataFrame(np.eye(3))
df = df.where(lambda x: x==1, np.nan)
df = df.where(pd.notnull(df), None)
请注意,pd.fillna(None)将不起作用,它使NaN值保持不变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.