在 seaborn 中绘制 datetime.time

Nik*_*kko 9 python matplotlib pandas seaborn

嗨,我在与 seaborn 绘制日期时间时遇到问题。我正在尝试使用 x 作为数据类型绘制分类数据,datetime.time但出现以下错误:

float() argument must be a string or a number, not 'datetime.time'
Run Code Online (Sandbox Code Playgroud)

这是我的 df:

       toronto_time             description
0      00:00:50                   STATS
1      00:01:55                   STATS
2      00:02:18                   ONLINE
3      00:05:24                   STATS
4      00:05:34                   STATS
5      00:06:33                   OFFLINE
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import matplotlib.pyplot as plt
import seaborn as sns

plt.style.use('seaborn-colorblind')

plt.figure(figsize=(8,6))
sns.swarmplot('toronto_time', 'description', data=df);
plt.show()
Run Code Online (Sandbox Code Playgroud)

更新:

'toronto_time' 的 dtype 是一个对象。当我使用 pd.to_datetime 时,它​​会转换为 datetime 但它会添加一个日期。

Joe*_*Joe 6

如果我理解正确,你可以这样做:

import matplotlib.pyplot as plt
import seaborn as sns
df['toronto_time'] = pd.to_datetime(df['toronto_time']).dt.strftime('%H:%M:%S')
sns.scatterplot(df['toronto_time'], df['description'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明