こんにちは
Python初心者です。
ローカルにある複数のcsvファイルから、特定の名前の列を特定の範囲で取得し、新たに別のcsvファイルに入れたいと思っています。
イメージとしては以下のような感じです
元ファイル
Time | 値1 | 値2 | 値3 |
---|---|---|---|
12:00 | ○ | ○ | 1300 |
13:00 | ○ | 1200 | |
14:00 | ○ | 1900 | |
15:00 | ○ | 1100 | |
16:00 | ○ | 900 | |
17:00 | ○ | ○ | 1700 |
: | : | : | : |
新ファイル
【条件:値3が1000以上1500未満、値1の列は省く、上位50件】
Time | 値2 | 値3 |
---|---|---|
12:00 | ○ | 1300 |
13:00 | ○ | 1200 |
15:00 | ○ | 1100 |
: | : | : |
現状のコードはこんな感じで、新しいファイルに抽出した列を入れるのがわかっていません、以下のコードもあまり理解できないままとりあえず書いてみた感じです。複数のcsvファイルをまとめてやりたく、元のファイル名は以下のように日付形式になっています。
20111105.py
1 2def convert_csv(ymd): 3 df = pd.read_csv('../python_data/csv/' + str(ymd) + '.csv', 4 delimiter=',', encoding="shift_jis") 5 6 df = df[(df['値3'].astype( 7 'float64') < 1500) & (df['値3'].astype('float64') >= 1000) & df['値1'] & df['値2']].head(50) 8 9convert_csv(20221105)
わかりにくい質問で恐縮ですが、ご教授いただけますと幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー