我正在讀取兩個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