gpt4 book ai didi

python - 列的子集和过滤器 Pandas

转载 作者:太空狗 更新时间:2023-10-30 00:27:46 26 4
gpt4 key购买 nike

使用 Pandas,我将如何在一个命令中过滤行并仅从 Pandas 数据框中获取列的子集。

我正在尝试应用这样的东西......

frame[(frame.DESIGN_VALUE > 20) & (frame['mycol3','mycol6']))]

谢谢。

最佳答案

您可以使用 bool 条件生成掩码并使用 loc 传递感兴趣的列列表:

frame.loc[frame['DESIGN_VALUE'] > 20,['mycol3', 'mycol6']]

我建议以上是因为这意味着你操作的是一个 View 而不是一个副本,其次我也强烈建议使用[]来选择你的列而不是作为属性通过sot . 运算符,这避免了 pandas 行为中的歧义

例子:

In [184]:
df = pd.DataFrame(columns = list('abc'), data = np.random.randn(5,3))
df

Out[184]:
a b c
0 -0.628354 0.833663 0.658212
1 0.032443 1.062135 -0.335318
2 -0.450620 -0.906486 0.015565
3 0.280459 -0.375468 -1.603993
4 0.463750 -0.638107 -1.598261

In [187]:
df.loc[df['a']>0, ['b','c']]

Out[187]:
b c
1 1.062135 -0.335318
3 -0.375468 -1.603993
4 -0.638107 -1.598261

这个:

frame[(frame.DESIGN_VALUE > 20) & (frame['mycol3','mycol6'])]

当您尝试通过使用 &

将 df 作为条件进行子选择时,将无法正常工作

关于python - 列的子集和过滤器 Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32908038/

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