我对Python & pandas比较陌生,并且在(分层)索引中挣扎。我已经涵盖了基础知识,但是由于更先进的切片和横切片而丢失了。在熊猫数据框中排除索引行的最有效方法
例如,下面的数据帧
import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(9).reshape((3, 3)),
index=pd.Index(['Ohio', 'Colorado', 'New York'], name='state'), columns=pd.Index(['one', 'two', 'three'], name='number'))
我要选择除与指数“科罗拉多”行了一切。对于一个小数据集,我可以这样做:
data.ix[['Ohio','New York']]
但是,如果唯一索引值的数目很大,那是不切实际的。天真地,我期待一个语法,如
data.ix[['state' != 'Colorado']]
但是,这只返回第一个记录'俄亥俄',不返回'纽约'。这个工程,但很麻烦
filter = list(set(data.index.get_level_values(0).unique()) - set(['Colorado']))
data[filter]
肯定会有一个更Pythonic,这样做的详细方式?
感谢:即澄清了很多! – dkapitan