情報系勉強をしている学生です。
pandasのdataframe型の効率的な処理の仕方について質問があります。
例えば、下記のようなデータフレームdf1と、これと全く同じ値、構造を持つdf2,df3...df10があったとします。
A | B | C |
---|---|---|
11 | 12 | 13 |
21 | 22 | 23 |
31 | 32 | 33 |
この10個のデータフレームに対してに対して、列Aの名前をappleに変更、apple列だけを抽出という二つの操作をしようと思った場合、下記のようなコードを書いてしまい非常に行数が増えてしまっています。
python
1# 列名の変更 2df1 = df1.rename(columns={'A': 'apple'}) 3df2 = df2.rename(columns={'A': 'apple'}) 4 | 5df10 = df10.rename(columns={'A': 'apple'}) 6 7# apple列の抽出 8df1 = df1["apple"] 9df2 = df2["apple"] 10 | 11df10 = df10["apple"]
dataframe型でなければ変数をlistにまとめるなどができると思うのですが、今のところこの方法しか思いついておりません。
理想を言えば下記のようにfor文などを使ってコンパクトなプログラムにできればと思っております。
python
1# イメージです 2for i in range(1,11): 3 df[i] = df[i].rename(columns={'A': 'apple'}) 4 df[i] = df[i]["apple"]
何か方法を知っている方がおられましたらご教授お願いいたします。
宜しくお願い致します。
環境
windows10
python 3.7
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/02 12:45