gpt4 book ai didi

python - 使用 3 列数据操作 pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:46 26 4
gpt4 key购买 nike

我无法想出完成任务的方法。我有一个包含 3 列的数据框:length、reachcode 和 year

我的示例数据框:

year  reachcode  length
1988 1000 1.2
1988 1000 2.0
1990 1000 0.3
1993 1000 0.5

我试图在一年内找到重复的“reachcode”,然后对那一年的“length”求和。

之后,我想将不同年份的“长度”总和值与相同的“reachcode”进行比较,并保留最小值。

因此,在示例数据框中,1998 年和 reachcode = 1000 的长度 1.2 和 2.0 将相加,然后该值 (3.2) 将与 1990 年和 1993 年进行比较,其中值 0.3 和 reachcode 保留在新列表中。

我有一些使用 Pandas 的经验,但这是一项比我以前必须处理的任务更复杂的任务。我的真实数据框大约有 40,000 行,因此找到一种自动执行此操作的方法将非常有帮助。感谢您的帮助。

最佳答案

只需运行 groupby 聚合:

df['lengthsum'] = df.groupby(['year', 'reachcode'])['length'].transform(sum)

df['lengthmin'] = df.groupby(['reachcode'])['lengthsum'].transform(min)

# year reachcode length lengthsum lengthmin
# 0 1988 1000 1.2 3.2 0.3
# 1 1988 1000 2.0 3.2 0.3
# 2 1990 1000 0.3 0.3 0.3
# 3 1993 1000 0.5 0.5 0.3

关于python - 使用 3 列数据操作 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39085326/

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