[英]Is there a way to un-nesting a pandas dataframe in a python3 jupyter notebook?
我正在將json文件導入python3 jupyter筆記本中。 json文件具有以下格式
我以這種方式導入json文件:
import pandas as pd
import numpy as np
import json
from pandas.io.json import json_normalize
with open("rooms.json") as file:
data = json.load(file)
df = json_normalize(data['rooms'])
我現在正嘗試以矩陣狀格式繪制6個維度中的每個維度,總共繪制36張圖。
我正在嘗試通過以下方式:
col_features = ['fromBathroom', 'fromParking', 'dfromBathroom', 'dfromParking', 'depth', 'area']
pd.plotting.scatter_matrix(df[col_features], alpha = .2, figsize = (14,8))
這不起作用,因為我收到一條錯誤,內容為:KeyError:“ ['from'Bathroom''fromParking''dfromBathroom''dfromParking']不在索引中”
這是因為這些功能嵌套在json文件的“轉彎”和“距離”中。 有沒有一種方法可以取消嵌套這些功能,以便我可以像深度和面積那樣獲取值的方式索引到數據框中?
感謝您的任何見解。
也許您可以提取df1 = df['turns']
, df2 = df['distances']
和df3 = df['areas', 'depth]
然后執行df4 = pd.concat([df1, df2, df3], join='inner', axis=1)
參見pandas doc
或直接: pd.concat([df['turns'], df['distances'], df['areas', 'depth]], join='inner', axis=1)
編輯:
我嘗試了一些東西,希望它是您要尋找的東西:
df1 = df['turns']
df2 = df['distances']
df3 = pd.DataFrame(df['depth'])
df4 = pd.DataFrame(df['area'])
df_recomposed = pd.concat([df1, df2, df3, df4], join='inner', axis=1)
df.columns = [' '.join(col).strip() for col in df.columns.values]
應該是您要查找的內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.