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中文网其他相关文章!