我正在尝试对groupby之后的列求和,
这是我的数据
|Day |SMSsNumber|ShortCode|
|----------|----------|---------|
|2020-08-25|647 |26243 |
|2020-08-25|6,396 |76973 |
|2020-08-25|16,615 |51532 |
|2020-08-25|315 |59230 |
|2020-08-25|4,732 |30210 |
|2020-08-25|209 |32261 |
|2020-08-25|7 |54835 |
我已经按日期分组了,但是我需要对SMSsNumber列求和。
这就是我得到的
|Day |SMSsNumber|Codes|
|----------|----------|-----|
|2020-08-25|647 |26243|
| |6,396 |76973|
| |16,615 |51532|
| |315 |59230|
| |4,732 |30210|
| |209 |32261|
| |7 |54835|
我需要获取以下信息:
|Day |SMSsNumber|Codes|
|----------|----------|-----|
|2020-08-25|28921 |26243|
| | |76973|
| | |51532|
| | |59230|
| | |30210|
| | |32261|
| | |54835|
这是我的代码
read = pd.read_csv('data.csv')
group_day = read.groupby(['Day','SMSsNumber']).sum()
group_day.to_html('test.html')
print(group_day.head())
:c
答案 0 :(得分:1)
请勿按SMS编号分组:
read.groupby('Day').sum()
如果要避免其他列,请明确选择这些列:
read.groupby('Day')[['SMSsNumber','ShortCode']].sum()
答案 1 :(得分:1)
group_day = read.groupby(['Day','SMSsNumber']).sum()
在上面的代码中,您按两列分组。
您想要的是将第一个分组,然后将第二个相加:
group_day = read.groupby(['Day'])['SMSsNumber'].sum()
如果您不指定对哪个列执行求和,则将获得所有支持该操作的列的和。