这是我的测试.csv文件,其中“A 1”和“A+2”是头文件:
A 1,A+2
test& ,1
skip,
#,
N/A,NA
这是我的代码:
import numpy as np
test = np.genfromtxt("test.csv",
delimiter = ',',
dtype = str,
comments = '#',
converters = None,
missing_values='NA',
filling_values=np.nan,
excludelist = ['skip'],
deletechars = " !#$%&'()*+,-./:;<=>?@[\\]^{|}~",
replace_space = '_',
autostrip = True
)
print(test)
这是我的输出:
[['A 1' 'A+2']
['test&' '1']
['skip' '']
['N/A' 'NA']]
为什么不是这样的输出:
[['A_1' 'A2']
['test' '1']
['NA' nan]]
missing_values、filling_values、excludelist、deletechars和replace_space的正确用法是什么?
1条答案
按热度按时间jmp7cifd1#
首先是一个粗略的阅读:
使用
usemask
和缺失值列表(似乎每列需要一个):我不知道filling_values是怎么回事。
genfromtxt
的源代码大部分是python,但相当复杂,包括处理缺失/填充值的部分。你可能会有更多的成功与
pandas
阅读器;它似乎更优雅地处理缺失值。在最近的numpy版本中,
np.loadtxt
已经被重写以更快。但它不处理缺失值。