熊猫。read_csv 将 NULL 和空格读取为 nan

RSM

我已将数据库表下载到 csv 文件中。

现在其中一列既有空单元格,也有一些写为 NULL。以下是通过在 Pandas 中读取该 CSV 文件创建的示例数据框:

df:

Col1    Col2      Amount1    Amount2
A       NULL      100.22     100.22
A       NULL      100.22     100.22
A       Virgo     100.22     100.22
A       Arkenea   100.22     100.22
A                 100.22     100.22
A                 100.22     100.22

现在,当我执行以下代码时,我得到以下输出:

df[(df['Col1']=="B")].unique()

输出:

('nan', 'Virgo', 'Arkenea')

在这里我无法区分 NULL 和空单元格,因为两者都显示为“nan”。此外,如果我执行 fillna,NULL 和空列都会使用新值进行更新。有什么方法可以读取文件,以便分别显示 NULL 和空单元格。

对此的任何线索表示赞赏。

阿卡什·兰詹

根据我的理解,这是我能够做的事情,

>>> import pandas as pd
>>> import numpy as np
>>> d = {'col1': [1, 2, 2, 3], 'col2': [3, 4, 5, 6], 'col3': ['NULL','NULL', np.nan, 'virgo']}
>>> df = pd.DataFrame(data=d)
>>> df.isnull()
    col1   col2   col3
0  False  False  False
1  False  False  False
2  False  False   True
3  False  False  False
>>> df['col3'].unique()
array(['NULL', nan, 'virgo'], dtype=object)

当我保存上述文件并尝试再次读取它时,它将所有 NULL 和空白条目作为 NaN 值。要解决这个问题,

df1 = pd.read_csv('/tmp/test.csv', keep_default_na=False, na_values=[''])

这对我有用。

>>> df1.isnull()
   Unnamed: 0   col1   col2   col3
0       False  False  False  False
1       False  False  False  False
2       False  False  False   True
3       False  False  False  False

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫将NULL读取为NaN浮点而不是str

使用正则表达式 sep 时,Pandas read_csv 将 NaN 读取为“”

阻止Pandas read_csv将NA解释为NaN,但保留NaN为空值

如何让 pd.read_csv 将 'null' 读为 np.nan?

在熊猫中,使用read_csv()时,如何将NaN分配给非dtype预期的值?

熊猫-使用read_csv读取时间

StringIO和熊猫read_csv

熊猫read_csv将标头解析为字符串类型,但我想要整数

获取pandas.read_csv以将空值读取为空字符串而不是nan

获取pandas.read_csv以将空值读取为空字符串而不是nan

Python-熊猫-groupby和“ agg”-当group包含nan时将聚合设置为nan

使用熊猫read_csv读取标题时跳过`#`字符

熊猫:read_csv(在单个文件中读取多个表)

获取熊猫读取的dtypes字典read_csv()

熊猫Read_CSV错误地读取数字

在熊猫read_csv中以毫秒为单位解析日期

熊猫read_csv low_memory和dtype选项

熊猫read_csv()和python迭代器作为输入

将空白读取为NAN-R

熊猫read_csv dtype读取所有列,但很少读取为字符串

防止熊猫将字符串中的“NA”解释为 NaN:csv 文件

强制熊猫将Nan读为字符串

熊猫数据框到Spark数据框,是否将NaN转换为实际的null?

如果将csv存储为变量,如何使用pandas read_csv()方法?

Pandas read_csv() 无法读取字符串“null”

熊猫将字符串和NaN(浮点数)的列转换为整数,并保留NaN

熊猫read_csv函数正在读取csv标头错误

大熊猫递归read_csv,同时将列添加到每个

防止熊猫read_csv将第一行视为列名的标题