初学者です。色々調べてみましたがどうして良いのかわかりません。
どうか後学のためにご教授ください。
やりたいことは、
filepathsのリストから一つづつfilepathを取ってきてCSVを読み込み
→カラムなどを整理し担当者一人ずつの結果を空のデータフレームに結合する作業を行いたいです。
以下の様な感じでひとつずつならできるのですが
**filepath = filepaths[1]**←①この部分を繰り返し行う方法がわかりません。
for filepath in filepaths : ←これだとダメなの理解しました(変更してみましたがうまくできませんでした) _df = pd.read_csv((filepath),encoding='cp932') colums = _df.iloc[:,[9,0,1,10,34,98,28,3,59]] df = colums
filepaths = glob('reha/*.csv') **filepath = filepaths[1]←ここ!!** _df = pd.read_csv((filepath),encoding='cp932') colums = _df.iloc[:,[9,0,1,10,34,98,28,3,59]] df = colums weak1_df = pd.DataFrame() members = df['担当者'].unique() for member in members: _df = df[(df['担当者'] == member)] sample_1 = _df['担当者'].value_counts() sample_2 = _df['結果'].value_counts() sample_3 = pd.concat([sample_1,sample_2]) weak1_df = pd.concat([weak1_df,sample_3])
> for filepath in filepaths : ←これだとダメなの理解しました
ダメな理由は何でしょうか?
自分でやってみましたがカラムなどを整理した後に担当者毎結果を抽出したいのですが、
最後のファイルにしか適応できず困っています。
Aファイル Bファイル Cファイル
Aファイル整理→担当(10人ほど)毎結果→Bファイル→担当(10人ほど)毎結果・・・・って感じでやりたいです。
Pythonプログラムはインデントが無いと読めないので、「コードの挿入」アイコンをクリックしてその中に書きましょう。
繰り返しができないとあるけど、正しくは、forの繰り返しは出来ているが、各ループで同じ出力先(df?)を上書きすると、最後のループの結果しか残らない
のが問題ってことですよね?
説明が下手で申し訳ありません。sigsegvさんのおっしゃるとおりの内容が問題で困っております。
回答1件
あなたの回答
tips
プレビュー