こんにちは
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)
わかりにくい質問で恐縮ですが、ご教授いただけますと幸いです。
よろしくお願いいたします。
現状はどこまで出来ているのでしょうか?
meg_様
コメントありがとうございます。
現状質問に書かせていただいたコードまでのみとなっています。dfを新しいファイルにする方法を調べてみたのですがよくわからず、うまく動かなかったので消してしまった感じです。
「現状質問に書かせていただいたコード」で「ローカルにある複数のcsvファイルから、特定の名前の列を特定の範囲で取得し、新たに別のcsvファイルに入れたいと思っています。」の内のどこまで実行できているのでしょうか?という質問でした。どこまで分かっていてどこから分からないのかの確認のつもりでした。
例えば、
・複数のcsvファイルの読み込みが分からない
・DataFrameからのデータの抽出方法が分からない
・DataFrameをCSV出力する方法が分からない
などです。もし全部分からないという場合は一度に全部実装するのではなく、1つずつ実装するのが良いかと思います。
あなたの回答
tips
プレビュー