DataFrame 包含一列需要分解為的字典單獨的列。雖然字典由以相同順序出現的相同三個鍵(“a”、“b”和“c”)組成,但它們的長度可能有所不同。以前使用 pandas.concat() 的工作解決方案現在失敗並出現 IndexError。
問題是由於資料被編碼為 Unicode 字串而不是字典物件而引起的。若要解決此問題:
使用 ast.literal_eval() 轉換 Unicode 字串:
在應用 json_normalize 之前,使用以下命令將 Unicode字串轉換為字典ast.literal_eval():
import ast df['Pollutant Levels'] = df['Pollutant Levels'].apply(ast.literal_eval)
使用 json_normalize 標準化 JSON:
使用 pandas.json_normalize()將字典列拆分為單獨的欄位:
df2 = pd.json_normalize(df['Pollutant Levels'])
此解決方案避免了使用昂貴的應用函數,並提供了更有效率、更穩健的方法。
以上是如何有效地將 Pandas 字典列拆分為單獨的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!