pandas 实现将NaN转换为None
短信预约 -IT技能 免费直播动态提醒
在python中,用pandas处理数据非常方便。
但是有时候从其他地方读取数据时,会有异常值需要处理。
比如,我们要从excel读取数据然后调用接口写入数据库时,读取到的空值是NaN,但是,接口接收的对应单元格数据应该是None,这时候怎么处理呢?当然,用pandas做这个事也是非常容易的。
示例如下:
原始数据:
示例代码:
import pandas as pd
df = pd.read_excel('data/test_data.xlsx')
# 将非空数据保留,空数据用None替换
df = df.where(df.notnull(), None)
print(df)
输出结果:
id value
0 1 100
1 2 None
2 3 None
3 4 50
补充:Pandas Nan & None 处理
在处理数据的时候遇到这个问题。
数据库里的值 是null
然后读取数据库后得到的dataframe 里显示的事None.
想把这些None 装换成0.0 但是试过很多方法都不奏效。
使用过
df['PLANDAY'].replace('None',0)
未奏效
这个判断句是生效的
df.loc[0,'PLANDAY'] is None:
后来发现这个数据类型是Nan 不是None
因此使用解决了上诉问题。
df['PLANDAY'] = df['PLANDAY'].fillna(0.0)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341