小编典典

按行切片Pandas DataFrame

python

我正在处理从H5文件加载的调查数据,就像hdf = pandas.HDFStore('Survey.h5')通过熊猫包一样。在此范围内DataFrame,所有行都是单个调查的结果,而列则是单个调查中所有问题的答案。

我的目标是将数据集减少到较小的DataFrame范围,仅包括对某个问题具有特定答案的行,即该列中的所有值均相同。我可以在这种情况下确定所有行的索引值,但是我找不到如何
删除 这些行或仅使用这些行创建新df的方法。


阅读 404

收藏
2021-01-20

共1个答案

小编典典

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
2021-01-20