簡體   English   中英

如何在DataFrame中使用另一列中的值減去一列中的值?

[英]How do I Substract values in one column with the values of another in a DataFrame?

我有以下數據幀:

在此輸入圖像描述

我想看看哪個國家在“黃金”和“黃金1”欄目之間存在最大差異。 該指數目前是各國。

例如,對於阿富汗,它將是0-0 = 0.我對每個國家這樣做,而且該列表中的最高數字是我的回答。 這就是我想要做的事情。

有誰知道我怎么做到這一點? 或者是否有內置函數可以計算出來?

您可以使用內置向量減法減去這兩列:

df1['Gold'] - df2['Gold 1']

這個國家最大的區別是

df.Gold.sub(df['Gold 1']).idxmax()

最大的絕對差異

df.Gold.sub(df['Gold 1']).abs().idxmax()

您也可以通過差異對此進行排序

df.loc[df.Gold.sub(df['Gold 1']).sort_values().index]

或絕對的差異

df.loc[df.Gold.sub(df['Gold 1']).abs().sort_values().index]

你可以試試下面的代碼:

import pandas as pd
df = pd.DataFrame([['Afgh',0,0],['Agnt',18,0]], columns = ['Country','Gold','Gold1'])
df['GoldDiff'] = df['Gold'] - df['Gold1']
df.sort_values(by = 'GoldDiff', ascending = False)

df只是一個基於你的測試數據幀。 df['GoldDiff']創建一個新列來存儲差異。

然后,您可以使用pandas中的sort_values函數對值進行簡單排序。 如果要將數據框修改為已排序的數據框,也可以添加inplace = True選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM