我有一个数据框,索引为Timedelta,范围从0到5分钟,还有一列浮点数。
这是一个示例子集:
32 0.740283
34 0.572126
36 0.524788
38 0.509685
40 0.490219
42 0.545977
44 0.444170
46 1.098387
48 2.209113
51 1.426835
53 1.536439
55 1.196625
56 1.923569
左边是以秒为单位的timedelta,右边是浮点数。
问题是当用熊猫绘图时,我得到一个带有标签的x轴,如:
0天00:00:00,0天00:01:10,0天00:02:15
等等。有没有什么方法可以重新采样(错误的单词?)数据,这样我就能在一分钟的基础上拥有轴,同时仍然将数据点保持在正确的位置?
示例代码/数据:
df = pd.DataFrame({'td':[32,34,36,38,40,42,44,51,53,152,283],
'val': np.random.rand(11)})
df.index = df.td.map(lambda x: pd.Timedelta(seconds=x.astype(int)))
df.drop(['td'], axis=1, inplace=True)
df.val.plot()
答案 0 :(得分:1)
Pandas仅提供绘图功能以方便使用。要完全控制,您需要直接使用Matplotlib。
作为一种解决方法,您可以使用datetime而不是timedelta作为索引。只要您的时间跨度在几分钟之内,熊猫就不会在一天或一个月内进行策划。
要使用您的示例,这可以:
df = pd.DataFrame({'td':[32,34,36,38,40,42,44,51,53,152,283],
'val': np.random.rand(11)})
df.index = [dt(2010, 1, 1) + timedelta(seconds=int(i)) for i in df.td]
df.drop(['td'], axis=1, inplace=True)
df.val.plot()
答案 1 :(得分:0)
这是你想要的吗?
Paint