我在谷歌上搜索了很多关于这个问题的信息,但都没有找到适用于我的问题的答案。我的问题是,我有一个数据帧,每一行都有一个变量,我想不断地插入带有变量C的行,它是变量A + B的值。例如:
TOWN YEAR Var Value
Amsterdam 2019 A 1
Amsterdam 2019 B 2
Amsterdam 2020 A 1
Amsterdam 2020 B 3
Rotterdam 2019 A 4
Rotterdam 2019 B 4
Rotterdam 2020 A 5
Rotterdam 2020 B 2
如果其他列相同,则所需输出会插入一行并分别对 A 和 B 求和。我现在的尝试失败了,因为我使用了 groupby 和 sum,然后将其转换为列表,然后尝试将其附加到一个单独的列 (var_C) 中。它失败的原因是我必须复制每个值以匹配原始数据集的长度。最终,列表的长度与原始数据集的长度不匹配。
data_current = data[data['var'].isin(['A', 'B'])]
data_var_c = data_current.groupby(['TOWN', 'year'])['value'].sum()
values = data_var_c.tolist()
values_dup = [val for val in values for _ in (0, 1)]
len(values_dup)
欢迎提出任何反馈意见!