我正在尝试使用Pandas和matplotlib将一个数据帧的多列(10)绘制到单个boxplot中。 通过将“熊猫系列”串联到一个数据框中来创建每一列。
最终图应具有来自四个数据框的四个箱形图。 为什么要使用四个数据框?我以为会更容易。
我尝试过:
r1TopDf.boxplot()
但是会产生10个箱型图。每列一个。 另外,我宁愿使用
matplotlib.pyplot.boxplot( ....)
因为这是我的最终目标,这使我可以在一个图形中添加多个“图形调用”。 可能也可以通过dataframe.boxplot()来实现,但是我不知道如何。
我的数据如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
r1TopDf = pd.DataFrame()
for row in vectors_toPlot[<condition>].itertuples():
topRC1 = row.column
topRC1Resampled = topRC1.resample(...)
topRC1Rolling = topRC1Resampled.rolling(...)
r1TopDf = pd.concat([r1TopDf, topRC1Rolling], axis=1)
print(topRC1.dtypes)
print(type(topRC1))
输出:
0 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
1 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
2 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
3 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
4 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
5 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
6 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
7 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
8 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
9 float64
dtype: object
<class 'pandas.core.frame.DataFrame'>
print(type(r1TopDf))
<class 'pandas.core.frame.DataFrame'>
print(r1TopDf.dtypes)
0 float64
1 float64
2 float64
3 float64
4 float64
5 float64
6 float64
7 float64
8 float64
9 float64
dtype: object
print(r1TopDf.head())
0 1 2 3 4 \
00:01:00.001121 7779200.0 7779200.0 7779200.0 7779200.0 7779200.0
00:01:00.021121 7480000.0 7480000.0 7480000.0 7480000.0 7480000.0
00:01:00.041121 7480000.0 7480000.0 7480000.0 7480000.0 7480000.0
00:01:00.061121 7779200.0 7792800.0 7779200.0 7779200.0 7779200.0
00:01:00.081121 7779200.0 7792800.0 7792800.0 7779200.0 7792800.0
5 6 7 8 9
00:01:00.001121 7779200.0 7779200.0 7779200.0 7779200.0 7779200.0
00:01:00.021121 7480000.0 7480000.0 7480000.0 7480000.0 7480000.0
00:01:00.041121 7480000.0 7480000.0 7480000.0 7480000.0 7480000.0
00:01:00.061121 7779200.0 7779200.0 7779200.0 7779200.0 7792800.0
00:01:00.081121 7792800.0 7779200.0 7792800.0 7792800.0 7792800.0
使用我的首选方法plt
可以得到:
plt.boxplot(r1TopDf)
TypeError: 'Series' object is not callable