
一切都很好,我唯一的问题,而不是在y轴上显示6000秒我想显示1:40表示1小时40分钟.
我怎么能真正实现这个目标?
day Object1 Object22017-01-01 6000 1234
我想要
day Object1 Object22017-01-01 1:40:00 00:20:34
你能否告诉我如何做到这一点
解决方法 这是可能的,但本机不支持ploting timedelta. df['Object1'] = pd.to_timedelta(df['Object1'],unit='s')df['Object2'] = pd.to_timedelta(df['Object2'],unit='s')
要么:
cols = ['Object1','Object2']df[cols] = df[cols].apply(lambda x: pd.to_timedelta(x,unit='s'))
print (df) day Object1 Object20 2017-01-01 01:40:00 00:20:34
但FuncFormatter是可能的:
df = pd.DataFrame({'Object1': [6000,4000,3000],'Object2':[3000,5000,2110]})import matplotlib.ticker as tkrimport datetimedef func(x,pos): return str(datetime.timedelta(seconds=x))fmt = tkr.FuncFormatter(func)ax = df.plot(x='Object1',y='Object2',rot=90)ax.xaxis.set_major_formatter(fmt)ax.yaxis.set_major_formatter(fmt) 总结 以上是内存溢出为你收集整理的python – 格式化pandas y轴以显示时间而不是总秒数全部内容,希望文章能够帮你解决python – 格式化pandas y轴以显示时间而不是总秒数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)