我试图用一部分数据框注释我的情节。但是,时间00:00:00出现在所有行标签中。有没有一种干净的方法来删除它们,因为我的数据是每天频繁的?我已经尝试了规范化功能,但这并没有消除时间;它只是把时间归零。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.tools.plotting import table
# Setup of mock data
date_range = pd.date_range('2014-01-01', '2015-01-01', freq='MS')
df = pd.DataFrame({'Values': np.random.rand(0, 10, len(date_range))}, index=date_range)
# The plotting of the table
fig7 = plt.figure()
ax10 = plt.subplot2grid((1, 1), (0, 0))
table(ax10, np.round(df.tail(5), 2), loc='center', colWidths=[0.1] * 2)
fig7.show()
答案 0 :(得分:1)
只需访问DateTimeIndex
的{{3}}属性,即可以datetime.date
格式表示索引的每个元素。
默认DateTimeIndex
格式为datetime.datetime
,即使您之前没有明确定义索引,也会自动定义。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.tools.plotting import table
np.random.seed(42)
# Setup of mock data
date_range = pd.date_range('2014-01-01', '2015-01-01', freq='MS')
df = pd.DataFrame({'Values': np.random.rand(len(date_range))}, date_range)
df.index = df.index.date # <------ only change here
# The plotting of the table
fig7 = plt.figure()
ax10 = plt.subplot2grid((1, 1), (0, 0))
table(ax10, np.round(df.tail(5), 2), loc='center', colWidths=[0.1] * 2)
fig7.show()