【发布时间】:2017-01-17 00:12:00
【问题描述】:
我的情况与this case 类似。我正在从事一个项目,该项目具有大约 50 万行的大型数据框。大约有 2000 名用户参与其中。(我通过 value_counts() 计算一个名为 NoUsager 的列得到这个数字)。
我想将数据框拆分为几个数组/数据框以便在之后进行绘图。 (几个表示每个用户的数组/数据框) 我得到了这样的用户列表:
df.sort_values(by='NoUsager',inplace=True)
df.set_index(keys=['NoUsager'],drop=False,inplace=True)
users = df['NoUsager'].unique().tolist()
我知道接下来是生成较小数据帧的循环,但我不知道如何实现它。我结合上面的代码并尝试了the case中的那个,但没有解决方案。
我该怎么处理它?
编辑
我想要数据框的直方图和箱线图。提供答案后,我已经有了所有NoUsager 的箱线图。但是对于大量数据,箱线图太小而无法阅读。所以我想用NoUsager 分割数据框并分别绘制它们。
我想要的图表:
- 箱线图,列=
DureeService,作者=NoUsager - 箱线图,column=
DureeService,by='Weekday` - 直方图,对于每个
Weekday,by=DureeService
我希望这次能得到很好的解释。
数据类型:
Weekday NoUsager Periods Sens DureeService
DataType string string string string datetime.time
DataFrame 示例:
Weekday NoUsager Periods Sens DureeService
Lun 000001 Matin + 00:00:05
Lun 000001 Matin + 00:00:04
Mer 000001 Matin + 00:00:07
Dim 000001 Soir - 00:00:02
Lun 000001 Matin + 00:00:07
Jeu 000001 Soir - 00:00:04
Lun 000001 Matin + 00:00:07
Lun 000001 Soir - 00:00:04
Dim 000001 Matin + 00:00:05
Lun 000001 Matin + 00:00:03
Mer 000001 Matin + 00:00:04
Ven 000001 Soir - 00:00:03
Mar 000001 Matin + 00:00:03
Lun 000001 Soir - 00:00:04
Lun 000001 Matin + 00:00:04
Mer 000002 Soir - 00:00:04
Jeu 000003 Matin + 00:00:50
Mer 000003 Soir - 00:06:51
Mer 000003 Soir - 00:00:08
Mer 000003 Soir - 00:00:10
Jeu 000003 Matin + 00:12:35
Lun 000004 Matin + 00:00:05
Dim 000004 Matin + 00:00:05
Lun 000004 Matin + 00:00:05
Lun 000004 Matin + 00:00:05
而困扰我的是,这些数据都不是数字,所以每次都必须转换。
提前致谢!
【问题讨论】:
标签: python pandas matplotlib dataframe split