gpt4 book ai didi

pandas - 将一列与另一列相减并显示相减值的前 3 个最高值

转载 作者:行者123 更新时间:2023-12-02 06:30:32 25 4
gpt4 key购买 nike

df = pd.read_csv('data.csv')

x = df['gross'] - df.budget

y = x.groupby(x).nlargest(3)

我想从总列中减去预算列并显示前 3 个最高值。但我没有得到前 3 个减去的最高值,并且我不知道如何继续。我需要一些帮助。

最佳答案

更新:

我认为你在这里不需要groupby,你可以简单地使用:

(df['总'] - df['预算']).nlargest(3)

如果您想在单独的列中保持差异,则可以创建下一列以保持毛额预算之间的差异,并按其值排序并获取top值:

df = pd.DataFrame({'gross':[10,20,30,40,50], 'budget':[8,15,10,10,10]})
print(df)

输出:

     budget  gross
0 8 10
1 15 20
2 10 30
3 10 40
4 10 50

现在,创建列以保持差异:

df['difference'] = df['gross'] - df.budget
print(df)

输出:

     budget  gross  difference
0 8 10 2
1 15 20 5
2 10 30 20
3 10 40 30
4 10 50 40

现在,按降序排序并获取最高值:

top_3 = df.sort_values(by='difference', ascending=False)[:3]
print(top_3)

输出:

     budget  gross  difference
4 10 50 40
3 10 40 30
2 10 30 20

关于pandas - 将一列与另一列相减并显示相减值的前 3 个最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44742772/

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