如何使用 pandas 数据框获取日期范围箱线图
How to get a date range boxplot with a pandas dataframe
我有一个场景,索引是日期时间对象,我想要绘制的数据是销售计数。大多数时候,一天内会进行多次销售,并且每天的销售量可能不同。我想创建一个显示日期范围的图,该日期范围可以很好地格式化 xticklabels,具体取决于我想在图中显示多少天。有点像 this。我尝试了不同的代码变体,但到目前为止都没有成功。有人可以看看我下面的脚本并帮助我吗?
import pandas as pd
import matplotlib.pyplot as plt
index1 = ['2017-07-01','2017-07-01','2017-07-02','2017-07-02','2017-07-03','2017-07-03','2017-07-03']
index2 = pd.to_datetime(index1,format='%Y-%m-%d')
df = pd.DataFrame([[123456],[123789],[123654],[654321],[654987],[789456],789123]],columns=['Count'],index=index1)
df.plot(kind='box')
plt.show()
使用 T,转置和重塑数据框。
df.T.plot(kind='box', figsize=(10,7))
输出:
可以将这些日期保存为单独的记录和箱线图。让我们这样做:
df.reset_index().set_index('index',append=True).unstack()['Count'].plot(kind= 'box',figsize=(10,7))
这样更好。
df.set_index(np.arange(len(df)),append=True).unstack(0)['Count']\
.plot(kind='box',figsize=(10,7))
输出:
我有一个场景,索引是日期时间对象,我想要绘制的数据是销售计数。大多数时候,一天内会进行多次销售,并且每天的销售量可能不同。我想创建一个显示日期范围的图,该日期范围可以很好地格式化 xticklabels,具体取决于我想在图中显示多少天。有点像 this。我尝试了不同的代码变体,但到目前为止都没有成功。有人可以看看我下面的脚本并帮助我吗?
import pandas as pd
import matplotlib.pyplot as plt
index1 = ['2017-07-01','2017-07-01','2017-07-02','2017-07-02','2017-07-03','2017-07-03','2017-07-03']
index2 = pd.to_datetime(index1,format='%Y-%m-%d')
df = pd.DataFrame([[123456],[123789],[123654],[654321],[654987],[789456],789123]],columns=['Count'],index=index1)
df.plot(kind='box')
plt.show()
使用 T,转置和重塑数据框。
df.T.plot(kind='box', figsize=(10,7))
输出:
可以将这些日期保存为单独的记录和箱线图。让我们这样做:
df.reset_index().set_index('index',append=True).unstack()['Count'].plot(kind= 'box',figsize=(10,7))
这样更好。
df.set_index(np.arange(len(df)),append=True).unstack(0)['Count']\
.plot(kind='box',figsize=(10,7))
输出: