gpt4 book ai didi

python - 比较两个 Pandas 列并设置为标签

转载 作者:行者123 更新时间:2023-12-04 00:00:14 24 4
gpt4 key购买 nike

假设我有以下 pd.DataFrame:

df = pd.DataFrame({'a': [10, 20, 30],
'b': [5, 25, 30]})

我希望得到

    a   b    label
0 10 5 1
1 20 25 2
2 30 30 3

意思:

  • 如果 a > b 则 label=1
  • 如果 a < b 那么标签=2
  • 如果 a = b 则 label=3

当我有多个条件时,我不知道该怎么做。

最佳答案

np.sign 玩得开心,自然会为标志分配类别:

df['label'] = np.sign(df['a'] - df['b']).map({1: 1, -1: 2, 0: 3})
df

a b label
0 10 5 1
1 20 25 2
2 30 30 3

这里要注意的有趣的是 np.sign 输出一个系列,所以我可以直接在它上面调用 Series.map 来获取你想要的标签。整洁!

关于python - 比较两个 Pandas 列并设置为标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62727866/

24 4 0