【发布时间】:2020-11-16 09:45:01
【问题描述】:
我的 DF 包含景点名称、日期和行程总和。
import pandas as pd
attr = pd.DataFrame(
{'rides':['circuit','circuit',
'roller coaster', 'roller coaster',
'car', 'car', 'car',
'train', 'train'],
'date':['2019-06-22', '2019-06-23',
'2019-06-29', '2019-07-06',
'2019-09-01', '2019-09-07', '2019-09-08',
'2019-09-14', '2019-09-15'],
'ride_sum':[663, 483,
858, 602,
326, 2, 86,
70, 134]})
rides date ride_sum
0 circuit 2019-06-22 663
1 circuit 2019-06-23 483
2 roller coaster 2019-06-29 858
3 roller coaster 2019-07-06 602
4 car 2019-09-01 326
5 car 2019-09-07 2
6 car 2019-09-08 86
7 train 2019-09-14 70
8 train 2019-09-15 134
我可以手动计算,但我的数据框有 1000 多条线路和 30 多个不同的游乐设施。
在示例中,它看起来像这样
print(attr.loc[attr['rides'] == 'circuit']['ride_sum'].var(),
attr.loc[attr['rides'] == 'roller coaster']['ride_sum'].var(),
attr.loc[attr['rides'] == 'car']['ride_sum'].var(),
attr.loc[attr['rides'] == 'train']['ride_sum'].var())
16200.0 32768.0 28272.0 2048.0
我想为每个游乐设施获取一个数据框,看起来像这样
rides var
0 circuit 16200.0
1 roller coaster 32768.0
2 car 28272.0
3 train 2048.0
【问题讨论】: