Python 如何创建带有时间戳的散点图

Python 如何创建带有时间戳的散点图,python,pandas,matplotlib,scatter,Python,Pandas,Matplotlib,Scatter,如何使用时间戳生成散点图 下面是一个示例,但我得到一个错误ValueError:第一个参数必须是序列 import pandas as pd import matplotlib.pyplot as plt d = ({ 'A' : ['08:00:00','08:10:00'], 'B' : ['1','2'], }) df = pd.DataFrame(data=d) fig = plt.figure() x = df['A'] y = d

如何使用
时间戳
生成散点图

下面是一个示例,但我得到一个错误
ValueError:第一个参数必须是序列

import pandas as pd
import matplotlib.pyplot as plt

d = ({
    'A' : ['08:00:00','08:10:00'],
    'B' : ['1','2'],           
    })

df = pd.DataFrame(data=d)

fig = plt.figure()

x = df['A']
y = df['B']

plt.scatter(x,y)
如果我将时间戳转换为总秒数,它将工作:

df['A'] = pd.to_timedelta(df['A'], errors="coerce").dt.total_seconds()
但我希望24小时时间在x轴上,而不是总秒数。

使用x刻度:

d = ({
'A' : ['08:00:00','08:10:00'],
'B' : [1,2],
})

df = pd.DataFrame(data=d)

fig = plt.figure()

x = df['A']
y = df['B']

x_numbers = list(pd.to_timedelta(df['A'], errors="coerce").dt.total_seconds ())
plt.scatter(x_numbers, y)
plt.xticks(x_numbers, x)
plt.show()
这将在x轴上将时间戳绘制为记号标记


注意,我将数据帧中的“B”列转换为数字而不是字符串。如果它们确实需要是字符串或作为字符串从文件导入,只需将它们转换为数字,例如通过
eval
函数。

谢谢@Tim Skov Jacobsen。它不需要转换为lists@Punter345. 你是对的。打印时,不需要这样做。我已将其从答案中删除。