我正在读取两个csv文件,从特定列中选择数据,丢弃NA/Null,然后使用适合某个条件的数据在一个文件中打印另一个文件中的相关数据:熊猫索引跳过值
data1 = pandas.read_csv(filename1, usecols = ['X', 'Y', 'Z']).dropna()
data2 = pandas.read_csv(filename2, usecols = ['X', 'Y', 'Z']).dropna()
i=0
for item in data1['Y']:
if item > -20:
print data2['X'][i]
但是,这将引发我一个错误:
File "hashtable.pyx", line 381, in pandas.hashtable.Int64HashTable.get_item (pandas\hashtable.c:7035)
File "hashtable.pyx", line 387, in pandas.hashtable.Int64HashTable.get_item (pandas\hashtable.c:6976)
KeyError: 6L
原来,当我print data2['X']
我看到失踪数行的索引
0 -1.953779
1 -2.010039
2 -2.562191
3 -2.723993
4 -2.302720
5 -2.356181
7 -1.928778
...
我该如何解决这个问题并重新编号索引值?或者,还有更好的方法?
所以它会返回与data1 ['Y']中的值大于-20相同索引的data2 ['X']中的所有值?绝对比我的循环方法更清洁。感谢分享,总是很好地了解新的/不同的方法 – stoves 2014-11-06 18:25:28
@stoves查看编辑 – 2014-11-06 18:52:09