Q&A
前提
python初心者ですがよろしくお願いいたします。
pythonでcsvファイルから、複数の指定の範囲から数値を抽出しようとしています。
for文での条件付けがうまく動作しませんでした。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
仮に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]
発生している問題・エラーメッセージ
[72000 rows x 2 columns]
time value
482 24.10 -34.385826
483 24.15 -33.221472
484 24.20 -31.423234
485 24.25 -29.060187
486 24.30 -26.665936
... ... ...
1276 63.80 -9.159655
1277 63.85 -9.759223
1278 63.90 -9.759223
1279 63.95 -10.383308
1280 64.00 -10.682700
[799 rows x 2 columns]
time value
634 31.70 -22.176455
635 31.75 -19.466094
636 31.80 -16.746808
637 31.85 -14.018522
638 31.90 -10.682700
... ... ...
1276 63.80 -9.159655
1277 63.85 -9.759223
1278 63.90 -9.759223
1279 63.95 -10.383308
1280 64.00 -10.682700
[647 rows x 2 columns]
Empty DataFrame
Columns: [time, value]
Index: []
Empty DataFrame
Columns: [time, value]
Index: []
Empty DataFrame
Columns: [time, value]
Index: []
Empty DataFrame
Columns: [time, value]
最初の2つの範囲は、間違った範囲で出力され、残りは空っぽで出力されました。
実際にはtimeが40秒ごとの範囲で出力しようとしています。
エラーメッセージ
該当のソースコード
python
1ソースコード 2```df=pd.read_csv('abc.csv',names=['time','value']) 3a=[1 2 3 4 5] 4b=[10 11 12 13 14] 5n1 = len(a) 6print(df) 7for i in range(0, n1-1): 8 df=df[(df['time']>a[i]) & (df['time']<b[i])] 9 print(df) 10 11### 試したこと 12 13ここに問題に対して試したことを記載してください。 14 15### 補足情報(FW/ツールのバージョンなど) 16a,bの数値は実際より簡略しています。 17ですのでa,bの中身を使わないコードでお願いいたします。 18
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。