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

Esostack

当我提供了一个正则表达式的sep参数read_csv,例如[,\t]在下面的例子中,我得到NaN值的读取""我怀疑这可能是一个错误,但我正在寻找有关解决方法的建议或有人解释为什么它不是错误。似乎只有在 DataFrame 只有一列时才会发生

import numpy as np
import pandas as pd

file_path = "temp.csv"

df = pd.DataFrame({"x": [np.nan, 1]})
df.to_csv(file_path, index=False)
df1 = pd.read_csv(file_path, sep=',')
df2 = pd.read_csv(file_path, sep='[,\t]')

print(f"-----------\ndf1\n{df1}")
print(f"-----------\ndf2\n{df2}")

输出

-----------
df1
     x
0  NaN
1  1.0
-----------
df2
     x
0   ""
1  1.0

科拉连

要解决这个问题:

>>> pd.read_csv(file_path, sep='[,\t]', na_values='""', engine="python")
     x
0  NaN
1  1.0

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

熊猫read_csv不服从正则表达式sep

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

Pandas:使用 read_csv 从 StringIO 读取时为空数据框

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

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

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

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

将表达式定义为类属性时,正则表达式测试在Javascript中失败

使用正则表达式read_csv

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

pandas 是否支持使用 read_csv 读取 `set` 参数

Python Pandas正则表达式输出NaN

通过使用正则表达式将值替换为np.nan

将dict值读取为正则表达式,返回匹配项

正则表达式:将URL修剪为根

正则表达式将文本解析为参数

如何使用Java将文件基于正则表达式分解为令牌

如何使用正则表达式或工具包将句子解析为标记

python:使用正则表达式将docstring捕获为完全匹配

使用正则表达式将韩文文本解析为列表

使用正则表达式将输入格式设置为货币格式

如何使用正则表达式将文本设置为小写?

在cpp中使用正则表达式将password('abcs')子句屏蔽为password('****')

如何使用正则表达式将多行文本块解析为字典?

使用正则表达式将特定数字设置为 NA?

使用正则表达式将列的部分重塑为长格式

使用正则表达式将字符串分割为每个特殊字符

Javascript不会使用正则表达式将头发空间解释为空间