質問編集履歴
1
情報の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,165 +1 @@
|
|
1
1
|
コードを実行すると、TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex' とエラーが出ました。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
画像のような時系列の箱ひげ図のグラフをプロットしたいです。jupyternotebook上で
|
6
|
-
|
7
|
-
```ここに言語を入力
|
8
|
-
|
9
|
-
import pandas as pd
|
10
|
-
|
11
|
-
df = pd.read_table(“score.txt", names=["名前","最低点","最高点","平均値","中央値"])
|
12
|
-
|
13
|
-
df
|
14
|
-
|
15
|
-
```
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
とコードを書いて実行すると、
|
20
|
-
|
21
|
-
```ここに言語を入力
|
22
|
-
|
23
|
-
“名前” ”最低点” ”最高点” ”平均値” ”中央値”
|
24
|
-
|
25
|
-
Tom 30 90 69 73
|
26
|
-
|
27
|
-
Tom 40 100 80 79
|
28
|
-
|
29
|
-
Tom 44 60 50 52
|
30
|
-
|
31
|
-
・
|
32
|
-
|
33
|
-
・
|
34
|
-
|
35
|
-
・
|
36
|
-
|
37
|
-
```
|
38
|
-
|
39
|
-
のようなDataFrameがあって正常に出力されていることが確認できました。しかし、以下のコードを
|
40
|
-
|
41
|
-
```ここに言語を入力
|
42
|
-
|
43
|
-
def _ohlcv(columns, 最低点=None, 最高点=None, 平均値=None, 中央値=None):
|
44
|
-
|
45
|
-
auto_dict = {str(v).lower(): v for v in columns}
|
46
|
-
|
47
|
-
my_dict = {'最低点': 最低点, '最高点': 最高点, '平均値': 平均値,
|
48
|
-
|
49
|
-
'中央値': 中央値}
|
50
|
-
|
51
|
-
updater = {k: v for k, v in my_dict.items() if v}
|
52
|
-
|
53
|
-
auto_dict.update(updater)
|
54
|
-
|
55
|
-
return auto_dict
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
def ohlc2(self, 最低点=None, 最高点=None, 平均値=None, 中央値=None):
|
62
|
-
|
63
|
-
auto_dict = _ohlcv(self.asfreq().columns, 最低点, 最高点, 平均値, 中央値)
|
64
|
-
|
65
|
-
try:
|
66
|
-
|
67
|
-
agdict = {auto_dict['最低点']: '最低点',
|
68
|
-
|
69
|
-
auto_dict['最高点']: '最高点',
|
70
|
-
|
71
|
-
auto_dict['平均値']: '平均値',
|
72
|
-
|
73
|
-
auto_dict['中央値']: '中央値'}
|
74
|
-
|
75
|
-
except KeyError as e:
|
76
|
-
|
77
|
-
raise KeyError('Columns not enough {}'.format(*e.args))
|
78
|
-
|
79
|
-
return self.agg(agdict)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
df.resample('H').ohlc2().head()
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
qf = cf.QuantFig(df.resample('H').ohlc2(), name='test')
|
88
|
-
|
89
|
-
qf.add_volume()
|
90
|
-
|
91
|
-
qf.iplot()
|
92
|
-
|
93
|
-
```
|
94
|
-
|
95
|
-
実行すると、
|
96
|
-
|
97
|
-
```ここに言語を入力
|
98
|
-
|
99
|
-
---------------------------------------------------------------------------
|
100
|
-
|
101
|
-
TypeError Traceback (most recent call last)
|
102
|
-
|
103
|
-
<ipython-input-40-001d36f3a426> in <module>()
|
104
|
-
|
105
|
-
21 return self.agg(agdict)
|
106
|
-
|
107
|
-
22
|
108
|
-
|
109
|
-
---> 23 df.resample('H').ohlc2().head()
|
110
|
-
|
111
|
-
24
|
112
|
-
|
113
|
-
25 qf = cf.QuantFig(df.resample('H').ohlc2(), name='test')
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in resample(self, rule, how, axis, fill_method, closed, label, convention, kind, loffset, limit, base, on, level)
|
118
|
-
|
119
|
-
7102 axis=axis, kind=kind, loffset=loffset,
|
120
|
-
|
121
|
-
7103 convention=convention,
|
122
|
-
|
123
|
-
-> 7104 base=base, key=on, level=level)
|
124
|
-
|
125
|
-
7105 return _maybe_process_deprecations(r,
|
126
|
-
|
127
|
-
7106 how=how,
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
~/anaconda3/lib/python3.6/site-packages/pandas/core/resample.py in resample(obj, kind, **kwds)
|
132
|
-
|
133
|
-
1146 """ create a TimeGrouper and return our resampler """
|
134
|
-
|
135
|
-
1147 tg = TimeGrouper(**kwds)
|
136
|
-
|
137
|
-
-> 1148 return tg._get_resampler(obj, kind=kind)
|
138
|
-
|
139
|
-
1149
|
140
|
-
|
141
|
-
1150
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
~/anaconda3/lib/python3.6/site-packages/pandas/core/resample.py in _get_resampler(self, obj, kind)
|
146
|
-
|
147
|
-
1274 raise TypeError("Only valid with DatetimeIndex, "
|
148
|
-
|
149
|
-
1275 "TimedeltaIndex or PeriodIndex, "
|
150
|
-
|
151
|
-
-> 1276 "but got an instance of %r" % type(ax).__name__)
|
152
|
-
|
153
|
-
1277
|
154
|
-
|
155
|
-
1278 def _get_grouper(self, obj, validate=True):
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'
|
160
|
-
|
161
|
-
```
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
とエラーが出ました。このエラーをググると、timestamps を設定していないときに出る、と読んだのですが、今回日時のデータがないので、timestamps が設定できないです。時系列の箱ひげ図のグラフをプロットするにはどのように修正すれば良いでしょうか?
|