簡體   English   中英

熊貓讀取json格式數據

[英]Pandas read json format data

我在一個數據框中有一個 json 列。

整個數據框看起來像

在此處輸入圖片說明

“customDimensions”列是json列,數據就像

[{'index': '4', 'value': 'North America'}]

我想將列展平為以下 2 列 customDimensions.index, customDimensions.value

我該怎么做呢?

您可以使用帶有ast.literal_eval列表理解來轉換為字典列表, DataFrame.pop用於提取列,最后一個DataFrame.join到原始:

#if values are strings
print (type(df.loc[0,'customDimension']))
<class 'str'>

import ast

df1 = (pd.DataFrame([ast.literal_eval(x)[0] for x in df.pop('customDimension')])
         .add_prefix('customDimensions.'))

#if values are lists
print (type(df.loc[0,'customDimension']))
<class 'list'>


df = pd.DataFrame([x[0] for x in df.pop('customDimension')]).add_prefix('customDimensions.')

df = df.join(df1)

如果源是json ,最好使用json.json_normalize

#not tested, depends of json format and data
df = json_normalize(j, 'customDimension', ['channelGrouping','date'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM