gpt4 book ai didi

python - 根据 Pandas 中的行值过滤列

转载 作者:行者123 更新时间:2023-11-30 22:22:51 24 4
gpt4 key购买 nike

我可以使用 bool 系列根据列值过滤行。

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

如何根据 bool 系列过滤行,如何根据列 bool 系列过滤列?像这样的东西。

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

关于python - 根据 Pandas 中的行值过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com