JSON要素をパンダデータフレームの列に分割します

サム・コーマー

リストの要素をパンダデータフレームのさまざまな列に分離しようとしています。基本的に私はすべてのために、欲しいtenureオプション-などの列、セミデタッチ、すなわち独立detached_pricedetached_costdetached_roomsそしてdetached_asking、その後、セミデタッチのために同じ、テラス、フラッツなど

p = [{'br8': [{'tenure': 'Detached',
    'data': ['£1,248,554', '£571', '4.3', '£1,063,001']},
   {'tenure': 'Semi-detached',
    'data': ['£581,968', '£499', '3.3', '£587,188']},
   {'tenure': 'Terraced', 'data': ['£520,725', '£516', '3.0', '£474,719']},
   {'tenure': 'Flats', 'data': ['£424,898', '£516', '2.0', '£394,092']}]}]

これまで試しましたが、列が正しく解析されません。ここで私の目標を達成する方法について誰かアドバイスや方向性がありますか?

pd.DataFrame.from_records(p).T

私の希望する出力は次のとおりです。

     detached_price, detached_cost, detached_rooms, detached_asking, semi_detached_price, etc etc
br8  £1,248,554,    £571 ,          4.3 ,            £1,063,001,     £581,968
マイコドリ

これはかなり長いデータフレームになりますが、以下は機能するはずです:

まず、いくつかのモジュールをインポートし、列を割り当てます。データの完全なセットがあり、NA値がないと仮定しています。その場合、質問、コスト、部屋をデータフレームにマッピングする方法を見つける必要があります。

from collections import defaultdict
from itertools import cycle
import pandas as pd


dfs  = defaultdict(list)

for index,y in p[0].items():
    for _ in y:
        for key, value in _.items():
            dfs[key].append(value)
            dfs['index'] = index

df = pd.DataFrame(dfs).set_index('index')

df = df.explode('data')

status = cycle( ['price','cost','room','ask'])

df['status'] = [next(status) for stat in range(len(df))]

df['tenure'] = df['tenure'] + '_' + df['status']

final = pd.crosstab(df.index,df.tenure,values=df.data,aggfunc='first')

print(final.iloc[:,:4])

tenure    Detached_ask Detached_cost Detached_price Detached_room
postcode?                                                        
br8         £1,063,001          £571     £1,248,554           4.3

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダの列を分割し、新しい結果をデータフレームに追加します

分類Dev

列を改行で分割して、パンダのデータフレームを別々の行に分解します

分類Dev

文字列列の値に基づいてパンダのデータフレームを分割します

分類Dev

パンダはデータフレームを2つのデータフレームに分割します

分類Dev

パンダのデータフレーム列を複数に分割し、繰り返し処理します

分類Dev

パンダ:特定の列の文字列値に基づいて、データフレームを個別のデータフレームに分割します

分類Dev

Python:空のパンダデータフレームを作成し、その列に要素を動的に追加します

分類Dev

検索された列の値までのパンダのデータフレーム行を新しいデータフレームに分割します

分類Dev

'City、StateZip'をパンダデータフレームの3つの列に分割します

分類Dev

パンダはデータフレームの列を分割し、ヘッダーを取得します

分類Dev

パンダ:データフレームの列を別々の行に分割する

分類Dev

パンダのデータフレームを列をキーとしてjsonに変換します

分類Dev

パンダは列のjsonを解析し、データフレームの新しい行に展開します

分類Dev

パンダ:データフレームの行を分割し、列の値を再配置します

分類Dev

パンダはすべての文字のデータフレーム列を分割します

分類Dev

パンダデータフレームのすべてのリスト列を分割します

分類Dev

パンダのデータフレームを列に追加します

分類Dev

文字列をコンマで分割し、パンダのデータフレームに挿入する方法

分類Dev

リストのコンテンツを「* \ n」でパンダのデータフレームに分割します

分類Dev

パンダ同様のキーに基づいて2つのデータフレームを分割します

分類Dev

パンダは一意の列値でデータフレームを分割します

分類Dev

パンダのデータフレームをNのチャンクに分割します

分類Dev

Pythonパンダデータフレーム:配列列の要素のセットを選択します

分類Dev

各列の値に等しい行数でパンダデータフレームを分割する

分類Dev

特定のルールに従って、パンダのデータフレームインデックスを列に分割します

分類Dev

パンダのデータフレームを相互に排他的なサブセットに分割します

分類Dev

パンダ:別の列の値に従って列から値を抽出し、別々のデータフレームに分割します

分類Dev

gropubyを使用してパンダデータフレームの要素をカウントし、既存のデータフレームにアタッチします

分類Dev

パンダデータフレーム - 複数の列に分割する文字列

Related 関連記事

  1. 1

    パンダの列を分割し、新しい結果をデータフレームに追加します

  2. 2

    列を改行で分割して、パンダのデータフレームを別々の行に分解します

  3. 3

    文字列列の値に基づいてパンダのデータフレームを分割します

  4. 4

    パンダはデータフレームを2つのデータフレームに分割します

  5. 5

    パンダのデータフレーム列を複数に分割し、繰り返し処理します

  6. 6

    パンダ:特定の列の文字列値に基づいて、データフレームを個別のデータフレームに分割します

  7. 7

    Python:空のパンダデータフレームを作成し、その列に要素を動的に追加します

  8. 8

    検索された列の値までのパンダのデータフレーム行を新しいデータフレームに分割します

  9. 9

    'City、StateZip'をパンダデータフレームの3つの列に分割します

  10. 10

    パンダはデータフレームの列を分割し、ヘッダーを取得します

  11. 11

    パンダ:データフレームの列を別々の行に分割する

  12. 12

    パンダのデータフレームを列をキーとしてjsonに変換します

  13. 13

    パンダは列のjsonを解析し、データフレームの新しい行に展開します

  14. 14

    パンダ:データフレームの行を分割し、列の値を再配置します

  15. 15

    パンダはすべての文字のデータフレーム列を分割します

  16. 16

    パンダデータフレームのすべてのリスト列を分割します

  17. 17

    パンダのデータフレームを列に追加します

  18. 18

    文字列をコンマで分割し、パンダのデータフレームに挿入する方法

  19. 19

    リストのコンテンツを「* \ n」でパンダのデータフレームに分割します

  20. 20

    パンダ同様のキーに基づいて2つのデータフレームを分割します

  21. 21

    パンダは一意の列値でデータフレームを分割します

  22. 22

    パンダのデータフレームをNのチャンクに分割します

  23. 23

    Pythonパンダデータフレーム:配列列の要素のセットを選択します

  24. 24

    各列の値に等しい行数でパンダデータフレームを分割する

  25. 25

    特定のルールに従って、パンダのデータフレームインデックスを列に分割します

  26. 26

    パンダのデータフレームを相互に排他的なサブセットに分割します

  27. 27

    パンダ:別の列の値に従って列から値を抽出し、別々のデータフレームに分割します

  28. 28

    gropubyを使用してパンダデータフレームの要素をカウントし、既存のデータフレームにアタッチします

  29. 29

    パンダデータフレーム - 複数の列に分割する文字列

ホットタグ

アーカイブ