pandasで条件に応じてcsvから行を削除したい
Pythonのpandasでcsvを読み込み、条件に従って行を削除し、新たなファイルに出力したいと考えています。
csvファイル (list1.csv) が以下の時、『time2』に着目し、time2が1.0以下のものの中からtime2の値が小さい順に3つ削除する為には、以下のスクリプトで実行できるかと思います。
list1.csv
[time1,time2][0.27,0.45][0.28,0.53][0.3309,0.65987][0.36938,0.8952][0.4396,1.0847]...
といったようにすでにtime2の値はソート済みです。
スクリプト
import pandas as pd
df = pd.read_csv("list1.csv")
df_a = (df[df['time2'] < 1.0])
print(df_a)
df_b = 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)で同様の内容をやりたいと思ています。
初歩的な内容で大変恐縮ではありますが、ご教授いただけましたら幸いです。
よろしくお願いいたします。