我正在处理从H5文件加载的调查数据,就像hdf = pandas.HDFStore('Survey.h5')通过熊猫包一样。在此范围内DataFrame,所有行都是单个调查的结果,而列则是单个调查中所有问题的答案。
hdf = pandas.HDFStore('Survey.h5')
DataFrame
我的目标是将数据集减少到较小的DataFrame范围,仅包括对某个问题具有特定答案的行,即该列中的所有值均相同。我可以在这种情况下确定所有行的索引值,但是我找不到如何 删除 这些行或仅使用这些行创建新df的方法。
In [36]: df Out[36]: A B C D a 0 2 6 0 b 6 1 5 2 c 0 2 6 0 d 9 3 2 2 In [37]: rows Out[37]: ['a', 'c'] In [38]: df.drop(rows) Out[38]: A B C D b 6 1 5 2 d 9 3 2 2 In [39]: df[~((df.A == 0) & (df.B == 2) & (df.C == 6) & (df.D == 0))] Out[39]: A B C D b 6 1 5 2 d 9 3 2 2 In [40]: df.ix[rows] Out[40]: A B C D a 0 2 6 0 c 0 2 6 0 In [41]: df[((df.A == 0) & (df.B == 2) & (df.C == 6) & (df.D == 0))] Out[41]: A B C D a 0 2 6 0 c 0 2 6 0