dictに格納されている(同じ長さの)複数のリストを1つのリストリストに結合します

lamo_738

私は次の辞書を持っています(これは本質的にテーブルに似ています):

tbl = {'col0':[20, 30, 22, 15, 24],
       'col1':[13, 15, 10, 14, 15],
       'col2':[52, 12, 14, 36, 23] }

これlist of listを、列全体のすべてのリストを結合するに変換したい(つまり、同じインデックス要素がリストのリスト内の1つのリスト要素になる)

次のようになります。

[[20, 13, 52], [30, 15, 12], [22, 10, 14], [15, 14, 36], [24, 15, 23]]

dictが次のような状況でも機能するはずです。

tbl = {'col0':1.0,
       'col1':7.0,
       'col2':1.3 }

# converted into
[[1.0, 7.0, 1.3]]

これを行うためのPythonの方法はありますか?基本的__str__に、現在テーブル値をdictフォーマットで格納している構造のメソッドをオーバーライドして、テーブル構造を行方向に出力する必要があります

マーク・スナイダー

いつでも読めない二重リスト内包表記を使用できます!

my_list_of_lists = [[tbl[key][idx] for key in tbl] for idx in range(len(tbl[list(tbl.keys())[0]]))]

長さのないデータがある場合は、代わりにこれを使用できます(すべての列が同じ長さである限り)。

def len_checker(item):
    try:
        return len(item)
    except:
        return 0

my_list_of_lists = [[tbl[key][idx] for key in tbl] for idx in range(len(tbl[list(tbl.keys())[0]]))] if len_checker(tbl[list(tbl.keys())[0]]) else [[tbl[key] for key in tbl]]

これらは楽しいではありませんか?

キー'col0'がテーブルにあることを保証できれば、状況は少しきれいになります。

my_list_of_lists = [[tbl[key][idx] for key in tbl] for idx in range(len(tbl['col0']))] if len_checker(tbl['col0']) else [[tbl[key] for key in tbl]]

ただし、真面目な話ですが、クリーンなコードが必要な場合は、PandasDataFrameのようなものを使用する必要があります。

from pandas import DataFrame

try:
    df = DataFrame(tbl)
except:
    df = DataFrame(tbl,index=[0])
my_list_of_lists = [list(df.iloc[row]) for row in range(df.shape[0])]

numpyも使用できます。

import numpy as np

arr = np.vstack([np.array(tbl[key]) for key in tbl])
my_list_of_lists = [list(arr[...,col]) for col in range(arr.shape[1])]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

1つのオブジェクトに格納されている複数のリストを連結する

分類Dev

複数のリストをネストされたリストの1つに結合する

分類Dev

リバースを使用せずに、Haskellに0と1のリストとして格納されている2つの2進数を追加する

分類Dev

Pyplot-1つの軸のリストの長さが一貫していない場合、同じグラフに複数の線をプロットするにはどうすればよいですか?

分類Dev

R:同じ長さのリストをタペルのリストに結合します

分類Dev

整数をリストに格納し、リストに格納されている整数の合計を見つけるPythonコードの方法

分類Dev

同じアドレスがリンクリストの先頭に格納されています

分類Dev

Pythonの2次元リストに格納されている特定の辞書値の数を取得します

分類Dev

リスト内包表記を使用して、dictのリストに格納されているデータをプロットします

分類Dev

タプルに格納されている2つのリストの位置を交換します

分類Dev

これらの3つのエントリを1つの行に「ピボット」する方法は?(同じ複合キーで結合されています)

分類Dev

別の列にリストされている同じエントリIDについて、1つの列に最大値の行を印刷します

分類Dev

リストに格納されている複数の区切り文字で文字列を分割する方法は?

分類Dev

Rのリストに格納されている行列の行をインターリーブします

分類Dev

リストに同時に格納されているデータフレームの複数の列の名前を変更する

分類Dev

同じ長さの2つのリスト。それらの1つに基づいてユニークなペアを取得します

分類Dev

異なる長さのベクトルをリストとしてRに格納します

分類Dev

1つのリストに格納されている多くのデータフレームに同じ列が含まれているかどうかを簡単に判断する方法はありますか?

分類Dev

ネストされたすべてのリストを同じ長さに調整します

分類Dev

dplyr :: mutateの文字ベクトルにリストされている複数の変数を合計します

分類Dev

Pythonで複数のリストを1つのリストに結合する

分類Dev

リスト内の要素を複製して、2番目のリスト内の要素の数と同じ長さにします

分類Dev

複数のHttpリクエストが呼び出され、1つの配列に格納されますが、すべてのリクエストが終了するまで待ってから配列を操作する方法

分類Dev

クエリによって返された数値のリストを変数に格納します

分類Dev

列の値を別のテーブルに格納されている正規表現値のリストと比較し、それに応じて更新します

分類Dev

別のリストに格納されているインデックスに従って、リストのリスト内の要素を置き換えます

分類Dev

リストに格納されている複数のデータフレーム列の平均を計算します

分類Dev

SQL / SQLiteは、ユーザーとデバイスが同じテーブルに格納され、関連付けが別のテーブルに格納されている場合に、ユーザーに属するデバイスのリストを取得します

分類Dev

リストに格納されている行列のループを使用する

Related 関連記事

  1. 1

    1つのオブジェクトに格納されている複数のリストを連結する

  2. 2

    複数のリストをネストされたリストの1つに結合する

  3. 3

    リバースを使用せずに、Haskellに0と1のリストとして格納されている2つの2進数を追加する

  4. 4

    Pyplot-1つの軸のリストの長さが一貫していない場合、同じグラフに複数の線をプロットするにはどうすればよいですか?

  5. 5

    R:同じ長さのリストをタペルのリストに結合します

  6. 6

    整数をリストに格納し、リストに格納されている整数の合計を見つけるPythonコードの方法

  7. 7

    同じアドレスがリンクリストの先頭に格納されています

  8. 8

    Pythonの2次元リストに格納されている特定の辞書値の数を取得します

  9. 9

    リスト内包表記を使用して、dictのリストに格納されているデータをプロットします

  10. 10

    タプルに格納されている2つのリストの位置を交換します

  11. 11

    これらの3つのエントリを1つの行に「ピボット」する方法は?(同じ複合キーで結合されています)

  12. 12

    別の列にリストされている同じエントリIDについて、1つの列に最大値の行を印刷します

  13. 13

    リストに格納されている複数の区切り文字で文字列を分割する方法は?

  14. 14

    Rのリストに格納されている行列の行をインターリーブします

  15. 15

    リストに同時に格納されているデータフレームの複数の列の名前を変更する

  16. 16

    同じ長さの2つのリスト。それらの1つに基づいてユニークなペアを取得します

  17. 17

    異なる長さのベクトルをリストとしてRに格納します

  18. 18

    1つのリストに格納されている多くのデータフレームに同じ列が含まれているかどうかを簡単に判断する方法はありますか?

  19. 19

    ネストされたすべてのリストを同じ長さに調整します

  20. 20

    dplyr :: mutateの文字ベクトルにリストされている複数の変数を合計します

  21. 21

    Pythonで複数のリストを1つのリストに結合する

  22. 22

    リスト内の要素を複製して、2番目のリスト内の要素の数と同じ長さにします

  23. 23

    複数のHttpリクエストが呼び出され、1つの配列に格納されますが、すべてのリクエストが終了するまで待ってから配列を操作する方法

  24. 24

    クエリによって返された数値のリストを変数に格納します

  25. 25

    列の値を別のテーブルに格納されている正規表現値のリストと比較し、それに応じて更新します

  26. 26

    別のリストに格納されているインデックスに従って、リストのリスト内の要素を置き換えます

  27. 27

    リストに格納されている複数のデータフレーム列の平均を計算します

  28. 28

    SQL / SQLiteは、ユーザーとデバイスが同じテーブルに格納され、関連付けが別のテーブルに格納されている場合に、ユーザーに属するデバイスのリストを取得します

  29. 29

    リストに格納されている行列のループを使用する

ホットタグ

アーカイブ