亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算excel中條件單元格的總和,用結果填充另一列

如何計算excel中條件單元格的總和,用結果填充另一列

qq_花開花謝_0 2023-02-22 16:40:02
編輯:在 Excel 中使用高級搜索(在數據選項卡下)我已經能夠創建一個唯一公司名稱列表,現在我可以根據包含公司名稱的單元格進行 SUMIF!免責聲明:任何 python 解決方案也將不勝感激,特別是熊貓!我有 60,000 行數據,其中包含有關授予公司的贈款的信息。我計劃創建一個 python 字典來存儲每個唯一的公司名稱,以及他們給定的總贈款 $ (agreemen_2) 和位置坐標。然后,我想在加拿大的實時 MapBox 地圖上使用 Dash(Plotly)顯示它。首先,我如何計算和存儲授予每家公司的總價值?我在其他解決方案中看到過 SUMIF,但不確定如何將其輸出到新列(如果有意義的話)。我認為一個可能的解決方案是創建一個新的唯一公司名稱列,并在其旁邊 SUMIF 列 D 中的所有適當單元格。到目前為止的 Python 知識因此,使用下面的代碼,我采用了一個看起來更加混亂的電子表格,刪除了重復項,根據公司名稱進行排序,并創建了一個包含相關數據列的新 pandas 數據庫:corp_df 是我想要使用的清理后的新數據框。recipien_4 是公司的唯一 ID 號,正如您所看到的那樣,它會在每次撥款時重復出現。屏幕截圖中的 Folia Biotech 顯示了一項重復的資助,正如我未包含在屏幕截圖中的一列所證明的那樣。如屏幕截圖所示,有很多重復項。import pandas as pdin_file = '2019-20 Grants and Contributions.csv'# create dataframe df = pd.read_csv(in_file)# sort in order of agreemen_1df.sort_values("recipien_2", inplace = True)# remove duplicatesdf.drop_duplicates(subset='agreemen_1', keep='first', inplace=True)corp_dict = { }# creates empty dict with only 1 copy of all corporation names, all values of 0for name in corp_df_2['recipien_2']:    if name not in corp_dict:        corp_dict[name] = 0# full name, id, grant $, longitude, latitudecorp_df = df[['recipien_2', 'recipien_4', 'agreemen_2','longitude','latitude']]任何提示或技巧將不勝感激,.ittertuples() 似乎不是一個好的解決方案,因為我不確定如何過濾和比較數據,或者是否保留數據類型。但隨時證明我錯了哈哈。我想也許有更好的方法來解決這個問題,直接在 Excel 中而不是遍歷 pandas 數據框的行。這是一個非常開放的問題,所以感謝您提供您認為最好的任何幫助或指導!
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我可以看到您正在使用 pandas 讀取文件 csv,因此您可以使用以下方法:

Group by

因此,您可以創建一個新的數據框,為公司名稱進行分組,如下所示:

dfnew = dp.groupby(['recipien_2','agreemen_2']).sum()

然后dfnew有價值觀。

文檔熊貓組: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html



查看完整回答
反對 回復 2023-02-22
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

使用group_by后接 asum可能最適合您:


corp_df= df.group_by(by=['recipien_2', 'longitude','latitude']).apply(sum, axis=1)


#if you want to transform the index into columns you can add this after as well:

corp_df=corp_df.reset_index()


查看完整回答
反對 回復 2023-02-22
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號