我有一个包含两列的数据框。第一列包含 years
,第二列包含 value
。我想将某一年分组并将其更改为该组的一个名称并添加所有相应的值。
例如,下面是小数据集
years value
1950 3
1951 1
1952 2
1961 4
1964 10
1970 34
输出应该看起来像
years value
1950's 6
1960's 14
1970's 34
我正在使用
pandas
在 Python 中尝试这个,并尝试了很多方法,转换为 dict 或 for 循环,但每次我都无法达到预期效果。有人可以帮忙吗? 最佳答案
使用整数除法,多个 10
,转换为字符串并添加 s
并使用此系列聚合 sum
:
y = ((df['years'] // 10) * 10).astype(str) + 's'
df = df.groupby(y)['value'].sum().reset_index()
print (df)
years value
0 1950s 6
1 1960s 14
2 1970s 34
详细信息 :
print (y)
0 1950s
1 1950s
2 1950s
3 1960s
4 1960s
5 1970s
Name: years, dtype: object
关于python - Pandas 中的分组和求和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55508210/