使用json_normalize 拆分Pandas 中的嵌套字典列
在Python 中,使用Pandas DataFrame 時,可能會遇到以下情況:最後一列包含嵌套字典。要將這些值提取到單獨的列中,如果字典的長度不相等,您可能會面臨挑戰。
本文介紹了使用 json_normalize() 函數的解。以下是一個範例:
import pandas as pd # Sample DataFrame with a column of nested dictionaries df = pd.DataFrame({ 'Station ID': ['8809', '8810', '8811', '8812', '8813'], 'Pollutant Levels': [ {'a': '46', 'b': '3', 'c': '12'}, {'a': '36', 'b': '5', 'c': '8'}, {'b': '2', 'c': '7'}, {'c': '11'}, {'a': '82', 'c': '15'}, ] }) # Extract columns using json_normalize df2 = pd.json_normalize(df['Pollutant Levels']) # Concatenate with original DataFrame df = pd.concat([df, df2], axis=1) # Drop the original 'Pollutant Levels' column df = df.drop(columns=['Pollutant Levels']) print(df)
輸出:
Station ID a b c 0 8809 46 3 12 1 8810 36 5 8 2 8811 NaN 2 7 3 8812 NaN NaN 11 4 8813 82 NaN 15
這種方法有效地將巢狀字典值提取到單獨的欄位中,處理不同字典長度的問題。 json_normalize() 函數有效地將巢狀的 JSON 資料轉換為表格格式,而無需複雜的 apply 函數。
以上是如何有效地拆分 Pandas DataFrame 中長度不等的嵌套字典列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!