为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算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 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信