LoginSignup
7
7

More than 1 year has passed since last update.

Pandas DataFrameをリストに入れて都合よく使っちゃおう

Last updated at Posted at 2021-07-30

本日、私的には大変ありがたい学びがあったのでここに記すことにしました。

タイトルに示した通り、リストの中にPandas DataFrameを格納して必要に応じて呼び出して使うことができました。
また、リストに入れたDataFrameの名前は同一のもので良いことが大変ありがたいと感じました。

素人の私はpandasでDataFrameを作るたびになんだかよくわからないDataFrameの名前を用意してdf1,df2・・・などと名前を変えて作成しておりました。それが、listに格納する順番が決まっている場合はわざわざdfにまどろっこしい名前をつけることなく、リストから呼び出すことが可能です。
文で説明するのも大変なのでコードを示します。

例えば以下のように変数名が一緒で中身のみ違うdfを用意して、
リストにappendを繰り返すとlistにデータフレームを格納することができています。

dflist = []
df = pd.DataFrame([1,2],[3,4])
dflist.append(df)
df = pd.DataFrame([5,6],[7,8])
dflist.append(df)

dflist
[出力]
[   0
 3  1
 4  2,
    0
 7  5
 8  6]

リスト内のdfはインデックスで呼び出すことができ、例えば以下のように引き出して使うことができます。

dflist[0][0]

とすると

[出力]
3    1
4    2

となり、

dflist[1][0]

とすると

[出力]
7    5
8    6

となります。

数値の部分はfor分を回すことで繰り返し取り出して使用することが可能です。
例えば以下のようにして表現すると取り出すことができています。

files = ["1.csv", "2.csv"]

for i in range(0,len(files)):
    print(dflist[int(i)][0])
[出力]
3    1
4    2
Name: 0, dtype: int64
7    5
8    6
Name: 0, dtype: int64

玄人の皆様にとっては当たり前のことかと思いますので生暖かい目で眺めていただければ幸いです。
私と同じビギナーの方にはこんな失敗例もあるのかと興味を持って見ていってください。
私はこの発想がなかったため、どのように実装するかグダグダと調べたり考えたりして貴重な時間をどっぷり溶かしました。

7
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7