如何获取行中哪些列在Pandas中的某些值内?

如何获取行中哪些列在Pandas中的某些值内?,pandas,Pandas,我知道它一定在外面的乙醚里,但我找不到它。我精通R语言,想弄清楚熊猫是什么,这让我想把这台电脑扔出窗外。这是漫长的一天 我希望能够根据某些行的列中的值提取数据帧的列名: foo = pd.DataFrame( [[-1,-5,3,0,-5,8,1,2]], columns = ('a','b','c','d','e','f','g','h') ) foo Out[25]: a b c d e f g h 0 -1 -5 3 0 -5 8 1 2 我想得到一个向

我知道它一定在外面的乙醚里,但我找不到它。我精通R语言,想弄清楚熊猫是什么,这让我想把这台电脑扔出窗外。这是漫长的一天

我希望能够根据某些行的列中的值提取数据帧的列名:

foo = pd.DataFrame(
[[-1,-5,3,0,-5,8,1,2]],
columns = ('a','b','c','d','e','f','g','h')
)

foo
Out[25]: 
   a  b  c  d  e  f  g  h
0 -1 -5  3  0 -5  8  1  2
我想得到一个向量,我可以通过以下方式将其他数据帧子集:

foo >= 0
给了我另一个数据帧,我不能用它来子集向量(序列?不管你们怎么称呼它??)

我想这样做:

otherDF[ foo >= 0 ]

想法???

如果你在寻找专栏封面:

In [25]:
foo[foo >= 0].dropna(axis=1).columns

Out[25]:
Index(['c', 'd', 'f', 'g', 'h'], dtype='object')
如果使用条件来屏蔽df:

In [26]:
foo[foo >= 0]

Out[26]:
    a   b  c  d   e  f  g  h
0 NaN NaN  3  0 NaN  8  1  2
如果我们随后删除带有
NaN
的列,则只剩下感兴趣的列:

In [27]:
foo[foo >= 0].dropna(axis=1)

Out[27]:
   c  d  f  g  h
0  3  0  8  1  2
然后,您可以使用
.columns
属性仅获取列

您只需要使用loc(例如df.loc[:,columns])

或者,如果您的其他数据帧没有相同的列名,但列数相同,您仍然可以使用“loc”,但只需传入要保留哪些列的布尔数组:

bar.loc[:, columns_boolean.values]



  c  d  f  g  h
0  7  2  6  3  9
1  4  3  8  0  3
2  5  7  1  3  0

您想在您的
otherDF
中子集什么?行、列或两者?
bar.loc[:, columns_boolean.values]



  c  d  f  g  h
0  7  2  6  3  9
1  4  3  8  0  3
2  5  7  1  3  0