小编Vak*_*und的帖子

来自Pandas数据帧的多个箱图

我正在尝试使用pandas数据帧中的数据绘制带有多个箱图的面板图.数据框的列如下所示:

 data.columns 
 Index([u'SiteId', u'obs1', u'obs2', u'obs3', u'obs4', u'obs5', u'obs6', u'date', u'area']
Run Code Online (Sandbox Code Playgroud)

我想创建一个由9个不同地块组成的小组(因为有9个不同的地理区域),每个小区每年有12个箱图.下面显示了一个示例,其中使用了用于创建绘图的片段:

df = data.ix[:, ['obs1','date', 'area']]
df = df.set_index('date')
colm = ['LOCATION 1']
for area in areas:
   df2 = df.loc[(df.area== area)]
   df2.boxplot(column=colm, by=df2.index.month, showmeans=True)
Run Code Online (Sandbox Code Playgroud)

上面的代码只得到一个图(框图对应于图中的每个月),但我想创建9个这样的图,每个图对应一个特定区域作为同一图中的子图.换句话说,我想首先按区域对数据进行分组,然后按年份分组,然后将结果绘制为boxplot.有什么想法,我怎么能得到所需的情节?任何帮助表示赞赏.

另外,我如何摆脱"由[1 1 1 ... 12 12 12]分组的箱形图"和"1,1,1,1,1,1,1,1,1,...... "在情节的顶部和底部?

我无法发布图像,因为stackoverflow规则不允许我这样做.谢谢.

python matplotlib pandas

6
推荐指数
1
解决办法
2988
查看次数

根据来自另一个数据帧的查找值创建一个 Pandas 列

我有一个 Pandas 数据框,它有一些按小时计算的数据值(这也是index这个查找数据框的)。数据框如下所示:

In [1] print (df_lookup) 
Out[1] 0     1.109248
       1     1.102435
       2     1.085014
       3     1.073487
       4     1.079385
       5     1.088759
       6     1.044708
       7     0.902482
       8     0.852348
       9     0.995912
       10    1.031643
       11    1.023458
       12    1.006961
       ...
       23    0.889541
Run Code Online (Sandbox Code Playgroud)

我想将此查找数据帧中的值相乘以创建另一个数据帧的列,该列将日期时间作为索引。数据框如下所示:

In [2] print (df)
Out[2] 
Date_Label           ID  data-1  data-2    data-3
2015-08-09 00:00:00  1   2513.0    2502     NaN  
2015-08-09 00:00:00  1   2113.0    2102     NaN  
2015-08-09 01:00:00  2   2006.0    1988     NaN  
2015-08-09 02:00:00  3   2016.0    2003     NaN 
...
2018-07-19 23:00:00  33  3216.0    333 …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas

4
推荐指数
1
解决办法
8360
查看次数

标签 统计

pandas ×2

matplotlib ×1

python ×1

python-3.x ×1