gpt4 book ai didi

python - 如何在 Pandas Data Frame 中创建条件列,其中列值基于其他列

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:11 26 4
gpt4 key购买 nike

我是 python 的新手,我正在尝试 R DPLYR 中的条件变异。简而言之,我想在名为 Result 的数据框中创建一个新列,其中:如果 df.['test'] 大于 1 df.['Result'] 等于该行的相应 df.['count'],如果它低于 1,则 df.['Result']

df.['count'] *df.['test'] 

我试过 df['Result']=df['test'].apply(lambda x: df['count'] if x >=1 else ...) 不幸的是这个结果是一个系列,我也尝试编写也返回系列的小函数

我希望最终的 Dataframe 看起来像这样......

no_ Test Count  Result
1 2 1 1
2 3 5 5
3 4 1 1
4 6 2 2
5 0.5 2 1

最佳答案

你可以使用np.where:

df['Result'] = np.where(df['Test'] > 1, df['Count'], df['Count'] * df['Test'])

输出:

   No_  Test  Count  Result
0 1 2.0 1 1.0
1 2 3.0 5 5.0
2 3 4.0 1 1.0
3 4 6.0 2 2.0
4 5 0.5 2 1.0

关于python - 如何在 Pandas Data Frame 中创建条件列,其中列值基于其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56978114/

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