1. ホーム
  2. パイソン

[解決済み】複数のリストをdataframeに取り込む

2022-04-05 11:33:07

質問

複数のリストをpythonのdataframeの異なるカラムとして配置するにはどうすればよいですか?を試してみました。 本解 が、トラブルがあった。

試み1。

  • 3つのリストを持ち、それらをzipで圧縮して使用します。 res = zip(lst1,lst2,lst3)
  • 1カラムのみ収得

試み2。

percentile_list = pd.DataFrame({'lst1Tite' : [lst1],
                                'lst2Tite' : [lst2],
                                'lst3Tite' : [lst3] }, 
                                columns=['lst1Tite','lst1Tite', 'lst1Tite'])

  • は、1行×3列(上記の方法)か、転置すると3行×1列となります。

100行(独立した各リストの長さ)×3列(3つのリスト)のpandasデータフレームを取得するにはどうすればよいですか?

どのように解決するのですか?

もう少しで完成しそうです。 lst のようなカラム名を指定する必要はありません)。

import pandas as pd
lst1 = range(100)
lst2 = range(100)
lst3 = range(100)
percentile_list = pd.DataFrame(
    {'lst1Title': lst1,
     'lst2Title': lst2,
     'lst3Title': lst3
    })

percentile_list
    lst1Title  lst2Title  lst3Title
0          0         0         0
1          1         1         1
2          2         2         2
3          3         3         3
4          4         4         4
5          5         5         5
6          6         6         6
...

よりパフォーマンスの高いソリューションが必要な場合は np.column_stack よりも zip この例では、2倍程度のスピードアップを実現していますが、その分、読みやすさが損なわれていると思います。

import numpy as np
percentile_list = pd.DataFrame(np.column_stack([lst1, lst2, lst3]), 
                               columns=['lst1Title', 'lst2Title', 'lst3Title'])