2024-10-03 23:22:33 发布
网友
我有以下数据帧
data_df = date value 2016-01-15 1555 2016-01-16 1678 2016-01-17 1789 ...
我想创建一个时间轴图表,以日期为x轴
我导入可视化模块
我尝试添加一列来格式化日期 数据[日期]=plt.date2num(广告_数据.日期)在
然后我要画出时间线 绘图日期(数据_数据框日期,数据_显示的数据框)在
这不起作用,因为我没有正确地转换日期。在
如果你的日期是一个日期时间的东西(如果不是,使用pd.to_datetime(),它应该能识别格式),它应该通过调用date_df.plot()来工作。确保它被设置为索引(所以使用date_df.index = date_df['date']
pd.to_datetime()
date_df.plot()
date_df.index = date_df['date']
您可以使用:
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转换为^{},然后将^{}从date转换为:
date
按^{}绘制Seriesdata_df['value'],然后设置x轴的格式:
Series
data_df['value']
x
ax = data_df['value'].plot() ticklabels = data_df.index.strftime('%Y-%m-%d') ax.xaxis.set_major_formatter(ticker.FixedFormatter(ticklabels)) plt.show()
{a4}
如果你的日期是一个日期时间的东西(如果不是,使用
pd.to_datetime()
,它应该能识别格式),它应该通过调用date_df.plot()
来工作。确保它被设置为索引(所以使用date_df.index = date_df['date']
您可以使用:
如有必要,将列} ,然后将^{} 从
^{pr2}$date
转换为^{date
转换为:按^{} 绘制
Series
data_df['value']
,然后设置x
轴的格式:{a4}
相关问题 更多 >
编程相关推荐