繁体   English   中英

熊猫数据框NaN值替换为任何值

[英]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值保持不变。

来源https://github.com/pandas-dev/pandas/issues/1972

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM