[英]Reading CSV file with numpy.genfromtxt() - delimiter as a part of a row name
[英]Skip rows when reading data from file using numpy.genfromtxt
我在文件中有一個數據集,如下所示
A 1
B 2
C 3
A 4
B 5
C 6
我想只提取包含'A'
行。 我如何用numpy.genfromtxt
做到這numpy.genfromtxt
? numpy中是否有其他功能可以幫助我做同樣的事情?
numpy.genfromtxt
接受生成器,因此您可以鏈接genfromtext
和ifilter
:
from itertools import ifilter
with open(fname, 'rb') as inp:
filtered_inp = ifilter(lambda x: x.startswith('A'), inp)
a = np.genfromtxt(filtered_inp)
您可以使用花式索引讀取整個文件並進行過濾:
a = np.genfromtxt('test.txt', dtype=str)
check = (a[:,0]=='A')
a = a[check]
我也想要這個功能,但它不存在。 所以現在你應該只是將整個文件作為矩陣加載,然后使用花式索引對其進行子集化,或刪除你不想要的部分等。如果你真正想要的行數非常小而且總大小非常大,你甚至可以通過常規Python方式迭代這些行更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.