gpt4 book ai didi

Python/Pandas - 如果A列等于X或Y,则从B列分配值。如果不是,则分配C列。如何用Python编写?

转载 作者:行者123 更新时间:2023-12-02 01:47:27 24 4
gpt4 key购买 nike

我在 Pandas 中制定这个在 Excel 中非常简单的语句时遇到了困难。我有一个数据框示例如下:

    colA        colB                colC

10 0 27:15 John Doe
11 0 24:33 John Doe
12 1 29:43 John Doe
13 Inactive John Doe None
14 N/A John Doe None

显然数据框比这个大得多,有 10,000 多行,所以我试图找到一种更简单的方法来做到这一点。我想创建一个列来检查 colA 是否等于 0 或 1。如果是,则等于 colC。如果不是,则等于 colC。在 Excel 中,我只需创建一个新列 (new_col) 并写入

=IF(OR(A2<>0,A2<>1),B2,C2)

然后拖动填充整个工作表。

我确信这相当简单,但我一生都无法弄清楚。

结果应该是这样的

    colA        colB                colC        new_col

10 0 27:15 John Doe John Doe
11 0 24:33 John Doe John Doe
12 1 29:43 John Doe John Doe
13 Inactive John Doe None John Doe
14 N/A John Doe None John Doe

最佳答案

np.where应该可以解决问题。

df['new_col'] = np.where(df['colA'].isin([0, 1]), df['colB'], df['colC'])

关于Python/Pandas - 如果A列等于X或Y,则从B列分配值。如果不是,则分配C列。如何用Python编写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70762769/

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