前提
pythonでcsvファイルから、複数の指定の範囲から数値を抽出しようとしています。
以下のようなエラーが発生しました
実現したいこと
仮にa=[1 2 3 4 5]
b=[10 11 12 13 14] の2つの配列と
csvファイル
time value
1 100
2 200
3 300
: :
: :
13 1300
14 1400
のようなcsvファイルがあるとします。
実現したいことは、timeが110,211...5~14のそれぞれの範囲のvalueを抽出することです。
例[100 200...1000] [200 300...1100]...[500 600...1400]
発生している問題・エラーメッセージ
cannot do slice indexing on RangeIndex with these indexers [481.0] of type float64 481.0はbの配列の最初の数値です。
該当のソースコード
python
1ソースコード
b = a + 40
a = list(a * 20)
b = list(b * 20)
n1 = len(a)
df=pd.read_csv('111.csv',names=['time','value'])
print(df)
for i in range(0, n1-1):
df=df[a[i]:b[i]]
print(df)
試したこと
直接timeで範囲指定するのはうまくいかなかったので、インデックス番号で指定することにしました。
aが開始位置の番号の配列で、bが終了位置の番号の配列です。
a[1]~b[1],a[2]~b[2],....のようにそれぞれの範囲を抽出したいと考えています。
補足情報(FW/ツールのバージョンなど)
a,bの配列の実際の数値は多いので、配列の中身を書き連ねない形でお願いいたします。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/11/28 02:40
2022/11/28 02:41
2022/11/28 03:15