【发布时间】:2021-01-13 13:41:52
【问题描述】:
我想“链接”两段代码。一,
x= df[df['Value']==True].sort_values(by='Date').head(1).Date
Out[111]:
8 2020-03-04
提取第一个值出现的日期;另一个
df[df['Buy']==1].groupby('Date').size().plot(ax=ax, label='Buy')
应该通过时间绘制一些信息。
我想在值为真的第一个日期添加一条垂直线,即2020-03-04。为了做到这一点,我需要从第一个代码(不使用复制和粘贴)中提取此信息到生成绘图的另一段代码。
你能给我一些指导吗?非常感谢
更新:
我尝试如下:
x= df[df['Value']==True].sort_values(by='Date').head(1).Date.tolist()
Out[111]:
8 ['2020-03-04']
df[df['Buy']==1].groupby('Date').size().plot(ax=ax, label='Buy')
ax.axvline(x, color="red", linestyle="--")
但我得到了一个 TypeError: unhashable type: 'numpy.ndarray'
一些数据:
Date Buy Value
0 2020-02-23 0 False
1 2020-02-23 0 False
2 2020-02-25 0 False
3 2020-02-27 1 False
4 2020-03-03 1 False
5 2020-03-03 1 False
6 2020-03-03 0 False
7 2020-03-04 1 False
8 2020-03-04 0 True
9 2020-03-04 0 True
10 2020-03-04 1 False
11 2020-03-05 0 True
12 2020-03-05 1 False
13 2020-03-05 1 False
14 2020-03-05 1 False
15 2020-03-06 0 False
16 2020-03-06 1 False
17 2020-03-06 1 False
18 2020-03-07 1 False
19 2020-03-07 1 False
20 2020-03-07 1 False
21 2020-03-08 1 False
22 2020-03-08 1 False
23 2020-03-09 1 False
24 2020-03-09 1 False
25 2020-03-09 1 False
26 2020-03-10 1 False
27 2020-03-10 1 False
28 2020-03-10 1 False
29 2020-03-10 0 True
30 2020-03-11 1 False
31 2020-03-11 1 False
32 2020-03-13 0 True
33 2020-03-13 0 False
34 2020-03-15 0 True
35 2020-03-16 0 False
36 2020-03-19 0 False
37 2020-03-22 0 True
【问题讨论】:
标签: python pandas matplotlib