gpt4 book ai didi

python - 我怎么能在 recarray 中做过滤器

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:58 27 4
gpt4 key购买 nike

我有一个名为 data.csv 的数据文件

name,value
A,10
1,20
B,30
3,20
...

所以问题是我使用 numpy 和 mlab 来加载这个 csvfile

data = mlab.csv2rec(data.csv) 

我有一个问题,如何过滤掉 data.name is a number

例如:输出应该是

1,20
3,20

最佳答案

如果要在保留过滤记录的结构的同时过滤 recarray:

filter_idx = [i for i, s in enumerate(data.names) if s.isdigit()]
data[filter_idx]

给予

rec.array([('1', 20), ('3', 20)], 
dtype=[('names', 'S1'), ('value', '<i4')])

如果您只想打印出示例输出中的过滤记录,我会这样做并捕获异常:

for rec in data:
try:
print int(rec.names), rec.value
except:
pass

打印

1 20
3 20

关于python - 我怎么能在 recarray 中做过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17313387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com