パンダデータフレームの同じ行に辞書のリストを書き込む

hey_arnold

データフレームに作成しようとした次の辞書のリストがあります。すべての「ヘッダー」値をdfに取得できましたが、「値」を取得する方法がわかりません。わざわざ取得しようとしています。同じ行のヘッダーと値。

new_inner = [{'Header':{'TimeserieId': '108'、 'ObjectID': 'SummeSLPVerbrauchDayAhead'、 'Unit': 'kWh'、 'Granularity': 'DAY'、 'Name': 'SLP消費予測日先 '、' LastUpdate ':' 2017-12-30T11:15:00.000Z '}、'値 ':{'値 ':{' FromUTC ':' 2017-12-31T05:00:00.000Z '、' UntilUTC ':' 2018-01-01T05:00:00.000Z '、' TSO-Value ':' 100947866.161 '}}}、{'ヘッダー ':{' TimeserieId ':' 109 '、' ObjectID ':' SummeSLPVerbrauchIntraDay '、 '単位': 'kWh'、 '粒度': 'DAY'、 '名前': '日中のSLP消費予測'、 'LastUpdate': '2017-12-31T23:15:00.000Z'}、 '値':{ '値':{'FromUTC': '2017-12-31T05:00:00.000Z'、 'UntilUTC': '2018-01-01T05:00:00.000Z'、 'TSO-Value': '100359943.649'}}}、{'ヘッダー ':{' TimeserieId ':' 2156 '、' ObjectID ':' SummeSLPVerbrauchTirolIntraDay '、' Unit ':' kWh '、' Granularity ':' DAY '、' Name ':' SLP消費予測日中Tyrol '、' LastUpdate ':' 2019-12-30T15:44:14.267Z '}、'値 ':なし}、{'ヘッダー ':{' TimeserieId ':' 2157 '、' ObjectID ':' SummeSLPVerbrauchTirolDayAhead '、'ユニット ':' kWh '、'粒度 ':' DAY '、'名前 ':' SLP消費予測1日前のTyrol '、' LastUpdate ':' 2019-12-30T15:44:14.269Z '}、'値 ':なし}、{ 'ヘッダー ':{' TimeserieId ':' 2158 '、' ObjectID ':' SummeSLPVerbrauchVorarlbergIntraDay '、' Unit ':' kWh '、' Granularity ':' DAY '、' Name ':' SLP消費予測日中VBG '、' LastUpdate ':' 2019-12-30T15:44:14.273Z '}、'値 ':なし}、{'ヘッダー ':{' TimeserieId ':' 2159 '、' ObjectID ':' SummeSLPVerbrauchVorarlbergDayAhead '、'ユニット ':' kWh '、'粒度 ':' DAY '、'名前 ':' SLP消費予測VBGの前日 '、' LastUpdate ':' 2019-12-30T15:44:14.294Z '}、'値 ':なし}]DAY '、'名前 ':' SLP消費予測日中VBG '、' LastUpdate ':' 2019-12-30T15:44:14.273Z '}、'値 ':なし}、{'ヘッダー ':{' TimeserieId ': '2159'、 'ObjectID': 'SummeSLPVerbrauchVorarlbergDayAhead'、 'Unit': 'kWh'、 'Granularity': 'DAY'、 'Name': 'SLP消費予測1日先のVBG'、 'LastUpdate': '2019-12- 30T15:44:14.294Z '}、'値 ':なし}]DAY '、'名前 ':' SLP消費予測日中VBG '、' LastUpdate ':' 2019-12-30T15:44:14.273Z '}、'値 ':なし}、{'ヘッダー ':{' TimeserieId ': '2159'、 'ObjectID': 'SummeSLPVerbrauchVorarlbergDayAhead'、 'Unit': 'kWh'、 'Granularity': 'DAY'、 'Name': 'SLP消費予測1日先のVBG'、 'LastUpdate': '2019-12- 30T15:44:14.294Z '}、'値 ':なし}]'名前': 'SLP消費予測VBGの前日'、 'LastUpdate': '2019-12-30T15:44:14.294Z'}、 '値':なし}]'名前': 'SLP消費予測VBGの前日'、 'LastUpdate': '2019-12-30T15:44:14.294Z'}、 '値':なし}]

現在のコード:

df3 = pd.DataFrame([i['Header'] for i in new_inner])

しかし、私がやろうとすると:

df3 = pd.DataFrame([i['Values'] for i in new_inner])

次のエラーが発生します

'NoneType'オブジェクトには属性 'keys'がありません

私の2つの質問は、なぜ値ディクショナリが見つからないのか、そしてヘッダーディクショナリと値ディクショナリをデータフレームの同じ行に入れるにはどうすればよいのかということです。

次のような出力を探しています:DataFrame出力

アズロ

最初にデータを準備してから、に変換することをお勧めします Dataframe

  • dictフラットキーHeader+Valuesを単一のdictに
  • キーValuesチェックの場合None、デフォルトのdict値を返すか、内部キーを返すかValue
values = [{'Header': {...}}] # initial data

def getValueOrDefault(v):
    if v is None:
        return {'FromUTC': None, 'UntilUTC': None, 'TSO-Value': None}
    return v['Value']

values = [{**value['Header'], **getValueOrDefault(value['Values'])} for value in values]
# values is now [{'TimeserieId': '108', ...}, {}, {}, ...]

df3 = pd.DataFrame(values)
print(df3)

データ準備の詳細:最初の値の例

  • {**first['Header']}Headerこのレベルのデータを削除するには、値からすべてのキー/値をフラット化します

  • {**value['Header'], **value['Values']}プットすべてのキーからキー/値HeaderとキーValuesを一緒しかし、あなたには、いくつか持っているとしてNone、あなたが検証を適用することができるが、

    • あればNone良いキーを使用して、デフォルトの辞書を取得
    • Nonekhe内部Valueキーを取得しない場合
first = values[0]
print(first) # {'Header': {'TimeserieId': '108', 'ObjectID': 'SummeSLPVerbrauchDayAhead', 'Unit': 'kWh', 'Granularity': 'DAY', 'Name': 'SLP consumption forecasts day ahead', 'LastUpdate': '2017-12-30T11:15:00.000Z'}, 'Values': {'Value': {'FromUTC': '2017-12-31T05:00:00.000Z', 'UntilUTC': '2018-01-01T05:00:00.000Z', 'TSO-Value': '100947866.161'}}}
print({**first['Header']}) # {'TimeserieId': '108', 'ObjectID': 'SummeSLPVerbrauchDayAhead', 'Unit': 'kWh', 'Granularity': 'DAY', 'Name': 'SLP consumption forecasts day ahead', 'LastUpdate': '2017-12-30T11:15:00.000Z'}
print({**first['Values']}) # {'Value': {'FromUTC': '2017-12-31T05:00:00.000Z', 'UntilUTC': '2018-01-01T05:00:00.000Z', 'TSO-Value': '100947866.161'}}
print({**getValueOrDefault(first['Values'])}) # {'FromUTC': '2017-12-31T05:00:00.000Z', 'UntilUTC': '2018-01-01T05:00:00.000Z', 'TSO-Value': '100947866.161'}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

大きなパンダのデータフレームをSQLServerデータベースに書き込む

分類Dev

パンダのデータフレームをMySQLに書き込む

分類Dev

タプルのリストを含む辞書内の辞書をパンダデータフレームに変換する方法

分類Dev

パンダ:データフレームの最初の行を垂直方向に書き込む

分類Dev

データフレームのリストをRのCSVに書き込む

分類Dev

データフレームのリストをRのCSVに書き込む

分類Dev

パンダ-1つのExcelシートに複数のデータフレームを書き込む

分類Dev

凍結されたセットの要素をパンダのデータフレームに書き込む

分類Dev

パンダのデータフレームにデータを書き込むための最適な方法

分類Dev

パンダを使用してExcelシートにデータフレーム行を書き込む

分類Dev

forループを使用せずに同じ長さのリストを含む辞書のリストをデータフレームに変換する方法

分類Dev

羽のファイルにパンダのデータフレームを書き込む際にエラー

分類Dev

パンダのデータフレームに個別の辞書のリストを作成する

分類Dev

リストの辞書へのパンダのデータフレーム

分類Dev

パンダの1つのExcelファイルにデータフレームの辞書を書き込む方法は?キーはシート名、値はデータフレームです

分類Dev

リスト内のネストされた辞書をデータフレームに取り込む方法は?

分類Dev

Pythonパンダ:辞書のネストされたリストをデータフレームに

分類Dev

リスト内の辞書をパンダのデータフレームに追加する

分類Dev

パンダのデータフレームをリストの辞書に変換する

分類Dev

パンダのデータフレームからリストの辞書へ

分類Dev

fwfにデータフレームを書き込む際の右側のパディングスペース

分類Dev

辞書のリストを含む列をパンダデータフレームの複数の列に変換します

分類Dev

不均一な辞書のリストをパンダデータフレームに変換します

分類Dev

不均一な辞書のリストをパンダデータフレームに変換します

分類Dev

データフレームを辞書のリストを含む辞書に変換します

分類Dev

辞書を含む辞書のリストをPandasデータフレームに変換します

分類Dev

辞書を含むリストの辞書をデータフレームに変換する

分類Dev

forループの出力をパンダデータフレームに書き込む

分類Dev

同じ行に同じ値を書き込むことによって、1つのデータフレームに異なる長さの2つのベクトルを書き込む方法は?

Related 関連記事

  1. 1

    大きなパンダのデータフレームをSQLServerデータベースに書き込む

  2. 2

    パンダのデータフレームをMySQLに書き込む

  3. 3

    タプルのリストを含む辞書内の辞書をパンダデータフレームに変換する方法

  4. 4

    パンダ:データフレームの最初の行を垂直方向に書き込む

  5. 5

    データフレームのリストをRのCSVに書き込む

  6. 6

    データフレームのリストをRのCSVに書き込む

  7. 7

    パンダ-1つのExcelシートに複数のデータフレームを書き込む

  8. 8

    凍結されたセットの要素をパンダのデータフレームに書き込む

  9. 9

    パンダのデータフレームにデータを書き込むための最適な方法

  10. 10

    パンダを使用してExcelシートにデータフレーム行を書き込む

  11. 11

    forループを使用せずに同じ長さのリストを含む辞書のリストをデータフレームに変換する方法

  12. 12

    羽のファイルにパンダのデータフレームを書き込む際にエラー

  13. 13

    パンダのデータフレームに個別の辞書のリストを作成する

  14. 14

    リストの辞書へのパンダのデータフレーム

  15. 15

    パンダの1つのExcelファイルにデータフレームの辞書を書き込む方法は?キーはシート名、値はデータフレームです

  16. 16

    リスト内のネストされた辞書をデータフレームに取り込む方法は?

  17. 17

    Pythonパンダ:辞書のネストされたリストをデータフレームに

  18. 18

    リスト内の辞書をパンダのデータフレームに追加する

  19. 19

    パンダのデータフレームをリストの辞書に変換する

  20. 20

    パンダのデータフレームからリストの辞書へ

  21. 21

    fwfにデータフレームを書き込む際の右側のパディングスペース

  22. 22

    辞書のリストを含む列をパンダデータフレームの複数の列に変換します

  23. 23

    不均一な辞書のリストをパンダデータフレームに変換します

  24. 24

    不均一な辞書のリストをパンダデータフレームに変換します

  25. 25

    データフレームを辞書のリストを含む辞書に変換します

  26. 26

    辞書を含む辞書のリストをPandasデータフレームに変換します

  27. 27

    辞書を含むリストの辞書をデータフレームに変換する

  28. 28

    forループの出力をパンダデータフレームに書き込む

  29. 29

    同じ行に同じ値を書き込むことによって、1つのデータフレームに異なる長さの2つのベクトルを書き込む方法は?

ホットタグ

アーカイブ