質問: df_a.drop([0,1,2]) print(df_b) ``` --- ここでお聞きしたいのは、csvファイルを読み込み、time2に着目するのは同じですが、 * time2が `0以上0.5未満` の値の行を削除し、それ以外を別ファイル (list1_0.5h.csv) として出力 * 同様にtime2が `0.5以上1.0未満` の値の行を削除し、それ以外を別ファイル (list1_1.0h) として出力 といったように、time2が `5.5以上6.0未満` まで同じことを繰り返すにはどのようにしたらよいでしょうか。 time2には0未満の値はありませんが6.0以上の値は存在します。 また、time2の値によって行を削除していく中で削除できる行数が5行と制限を加え、削除した行が5行に到達した場合には、それ以降は行を削除することなく、ファイル名を上記のように変更するにはどのようにしたらよいでしょうか。 新たなファイル名は元のファイル名に削除範囲の上の時間帯を加えたものになります。 上記内容を複数ファイル(list1.csv~list1000.csv)で同様の内容をやりたいと思ています。 初歩的な内容で大変恐縮ではありますが、ご教授いただけましたら幸いです。 よろしくお願いいたします。
回答: 一例として。 ``` import pandas as pd import numpy as np df = pd.read_csv('list1.csv') start, end, tick = 0.0, 6.0, 0.5 remove_max = 5 for s in np.arange(start, end, tick): df.drop(df[(df.time2 >= s) & (df.time2 < (s+tick))].index[:remove_max])\ .to_csv('list1_' + str(s+tick) + 'h.csv', index=False) ```