gpt4 book ai didi

python - 创建由符合条件的现有数据帧的特定行组成的新 pandas 数据帧的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 04:51:53 25 4
gpt4 key购买 nike

我有一个包含 6 列和几行的 pandas 数据框,每行都是来自实验中特定参与者的数据。每列都是参与者响应的特定量表并包含他们的分数。我想创建一个新的数据框,其中仅包含来自那些特定测量得分符合条件的参与者的数据。

标准是它必须与我单独生成的列表中的一项相匹配。

换句话来说,我将数据放在数据框中,我想隔离在与感兴趣的分数列表相匹配的 6 个度量之一中获得特定分数的参与者。我希望新数据框中的所有 6 列仅包含感兴趣的参与者的行。希望这一点是清楚的。

我尝试使用 groupby 函数,但它在指定条件方面没有提供足够的特异性,或者至少我不知道此类方法是否存在的语法。我对 pandas 还很陌生。

最佳答案

您可以使用isin()any()隔离在测试中获得特定分数的参与者。

这是一个小示例 DataFrame,显示了五名参与者在三项测试中的分数:

>>> df = pd.DataFrame(np.random.randint(1,6,(5,3)), columns=['Test1','Test2','Test3'])
>>> df
Test1 Test2 Test3
0 3 3 5
1 5 5 2
2 5 3 4
3 1 3 3
4 2 1 1

如果您想要一个参与者在三个测试中的任何一个中得分 12 的 DataFrame,您可以执行以下操作:

>>> score = [1, 2]
>>> df[df.isin(score).any(axis=1)]
Test1 Test2 Test3
1 5 5 2
3 1 3 3
4 2 1 1

这里df.isin(score)创建了一个 bool 值DataFrame,显示df的每个值是否在列表scores中。 any(axis=1) 检查每一行是否至少有一个 True 值,从而创建一个 bool 系列。然后该系列用于索引 DataFrame df

关于python - 创建由符合条件的现有数据帧的特定行组成的新 pandas 数据帧的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28254225/

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