如何获取行中哪些列在Pandas中的某些值内?
我知道它一定在外面的乙醚里,但我找不到它。我精通R语言,想弄清楚熊猫是什么,这让我想把这台电脑扔出窗外。这是漫长的一天 我希望能够根据某些行的列中的值提取数据帧的列名:如何获取行中哪些列在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 我想得到一个向
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