假设df['time']
来自timedelta64[ns]
类型,并且df['a']
和df['b']
来自float64
类型,则可以如下绘制两个系列: / p>
import pandas as pd
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, sharex=True)
time_values = pd.to_datetime(df['time'])
axs[0].plot(time_values, df['a'])
axs[1].plot(time_values, df['b'])
plt.show()
这可行。.但给出以下警告:
FutureWarning: Passing timedelta64-dtype data is deprecated, will raise a TypeError in a future version
那么在pd.to_datetime
中应该使用什么代替timedelta64[ns]
来显示matplotlib
作为人类可读的时间?
答案 0 :(得分:0)
使用熊猫从SQL读取时间数据时,我遇到了同样的问题。这两条线解决了我的问题。我试图找到另一个没有成功的直接解决方案。
time_values = df['time'].apply(lambda x: np.nan if pd.isnull(x) else str(x)[-8:])
time_values = pd.to_datetime(time_values, format='%H:%M:%S').dt.time