python pandas 时间线图

标签 python pandas graph

我有以下数据框

data_df = 
date          value
2016-01-15    1555
2016-01-16    1678
2016-01-17    1789
...  

我想创建一个时间线图,以日期为x轴

我导入可视化模块

import matplotlib.pyplot as plt
%matplotlib inline
import vincent as vin
import seaborn as sb

我尝试添加一列来格式化日期 data_df['日期'] = plt.date2num(ad_data.date)

然后我要绘制时间线 plot_date(data_df.dates, data_df.shown)

这不起作用,因为我没有正确转换日期。

最佳答案

您可以使用:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

#sample data    
start = pd.to_datetime('2016-01-15')
rng = pd.date_range(start, periods=100)

data_df = pd.DataFrame({'date': rng, 'value': range(100)})  
data_df.value = data_df.value * 15 / data_df.date.dt.day
print (data_df)
         date        value
0  2016-01-15     0.000000
1  2016-01-16     0.937500
2  2016-01-17     1.764706
3  2016-01-18     2.500000
4  2016-01-19     3.157895
5  2016-01-20     3.750000
6  2016-01-21     4.285714
7  2016-01-22     4.772727
8  2016-01-23     5.217391
9  2016-01-24     5.625000
10 2016-01-25     6.000000
...
...

如有必要,将列 date 转换为 to_datetime然后 set_index来自 date 列:

data_df.date = pd.to_datetime(data_df.date)
data_df.set_index('date', inplace=True)
print (data_df)
                  value
date                   
2016-01-15     0.000000
2016-01-16     0.937500
2016-01-17     1.764706
2016-01-18     2.500000
2016-01-19     3.157895
2016-01-20     3.750000
2016-01-21     4.285714
2016-01-22     4.772727
2016-01-23     5.217391
2016-01-24     5.625000
2016-01-25     6.000000
...
...

绘制系列 data_df['value'] by plot然后设置轴 x 的格式:

ax = data_df['value'].plot()

ticklabels = data_df.index.strftime('%Y-%m-%d')
ax.xaxis.set_major_formatter(ticker.FixedFormatter(ticklabels))
plt.show()

graph

关于python pandas 时间线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40210207/

相关文章:

python - python 的 ORM 不需要我们为数据库表的类定义所有属性

python - 如何使用 Pandas 在 csv 文件中创建新列,并根据这些列中的值添加数据

python - 带有结合了两个函数的 aggfunc 的数据透视表

python - 将零设置为第一行包含一个的那些列

r - 如何在 R 中绘制带有条件 p 值和置信区间的方差分析?

algorithm - 修改 Dijkstra 以在给定额外属性的情况下找到最优化的最短路径

python - 应用引擎 : Few big scripts or many small ones?

python - BeautifulSoup 中的嵌套标签 - Python

python - 如何将数据帧列中的字符串与另一个数据帧中的子字符串进行比较并提取值

graph - Gremlin删除所有顶点