欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

pandas 实现将NaN转换为None

程序员文章站 2022-03-17 22:21:45
在python中,用pandas处理数据非常方便。但是有时候从其他地方读取数据时,会有异常值需要处理。比如,我们要从excel读取数据然后调用接口写入数据库时,读取到的空值是nan,但是,接口接收的对...

在python中,用pandas处理数据非常方便。

但是有时候从其他地方读取数据时,会有异常值需要处理。

比如,我们要从excel读取数据然后调用接口写入数据库时,读取到的空值是nan,但是,接口接收的对应单元格数据应该是none,这时候怎么处理呢?当然,用pandas做这个事也是非常容易的。

示例如下:

原始数据:

pandas 实现将NaN转换为None

示例代码:

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)

未奏效

pandas 实现将NaN转换为None

这个判断句是生效的

df.loc[0,'planday'] is none:

后来发现这个数据类型是nan 不是none

因此使用解决了上诉问题。

df['planday'] = df['planday'].fillna(0.0)

pandas 实现将NaN转换为None

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关标签: pandas NaN None