簡體   English   中英

根據Pandas中的Row值歸檔列

[英]Filering columns based on Row values in Pandas

我可以使用布爾系列基於列值過濾行。

import pandas as pd
import numpy as np
from numpy.random import randn
df = pd.DataFrame(randn(5,4), ['A', 'B', 'C', 'D', 'E'], ['W','X','Y','Z'])

>>> df[df['W'] < 0]
          W         X         Y         Z
A -1.080180 -0.512936  0.810030  0.135316
D -0.713363  0.376887 -0.334995  0.864555

如何基於布爾系列過濾行,如何根據列布爾系列過濾列? 這樣的事情。

df[df.loc['A'] > 1] ##It's wrong syntax I know. 

你真的很接近,需要loc :用於按條件選擇所有行:

np.random.seed(45)
df = pd.DataFrame(np.random.rand(5,4), ['A', 'B', 'C', 'D', 'E'], ['W','X','Y','Z'])
print (df)
          W         X         Y         Z
A  0.989012  0.549545  0.281447  0.077290
B  0.444469  0.472808  0.048522  0.163324
C  0.115951  0.627392  0.856182  0.650102
D  0.990722  0.470351  0.618294  0.282667
E  0.976003  0.673068  0.440531  0.289687

df1 = df.loc[:, df.loc['A'] > .5]
print (df1)
          W         X
A  0.989012  0.549545
B  0.444469  0.472808
C  0.115951  0.627392
D  0.990722  0.470351
E  0.976003  0.673068

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM