【问题标题】:How to convert dataframe column which contains list of dictionary into separate columns?如何将包含字典列表的数据框列转换为单独的列?
【发布时间】:2022-11-23 22:07:55
【问题描述】:

我有一个数据框列,如下所示:

df_cost['region.localCurrency']:

0     [{'content': 'Dirham', 'languageCode': 'EN'}]
1     [{'content': 'Dirham', 'languageCode': 'EN'}]
2     [{'content': 'Dirham', 'languageCode': 'EN'}]
3       [{'content': 'Euro', 'languageCode': 'DE'}]
4       [{'content': 'Euro', 'languageCode': 'DE'}]
5       [{'content': 'Euro', 'languageCode': 'DE'}]
6       [{'content': 'Euro', 'languageCode': 'DE'}]
7       [{'content': 'Euro', 'languageCode': 'DE'}]
8       [{'content': 'Euro', 'languageCode': 'DE'}]
9       [{'content': 'Euro', 'languageCode': 'DE'}]
10      [{'content': 'Euro', 'languageCode': 'DE'}]
11      [{'content': 'Euro', 'languageCode': 'DE'}]
12      [{'content': 'Euro', 'languageCode': 'DE'}]
13    [{'content': 'Dirham', 'languageCode': 'EN'}]
14    [{'content': 'Dirham', 'languageCode': 'EN'}]
15    [{'content': 'Dirham', 'languageCode': 'EN'}]
16      [{'content': 'Euro', 'languageCode': 'DE'}]
17      [{'content': 'Euro', 'languageCode': 'DE'}]
18      [{'content': 'Euro', 'languageCode': 'DE'}]
19      [{'content': 'Euro', 'languageCode': 'DE'}]
Name: region.localCurrency, dtype: object

我想转换它,将字典键和值分成列。我想根据 region.localCurrency 的字典内容向初始 df_cost 数据框添加两个单独的列,例如“localCurrencyContent”和“localCurrencyCode”。 我试图像这样拆分 region.localCurrency 列:

df_split=pd.DataFrame(df_cost['region.localCurrency'].apply(pd.Series), columns=['localCurrencyContent', 'localCurrencyCode'])
print(df_split)

但这给了我 localCurrencyContent 和 localCurrencyCode 的 NaN 值,而不是例如“Euro”和“DE”。我如何拆分“region.localCurrency”列并将创建的两个列添加到 cost_df 初始数据框?

【问题讨论】:

    标签: python pandas dataframe dictionary nested


    【解决方案1】:

    Pandas.json_normalize 可能会为您完成这项工作。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.json_normalize.html

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 2018-10-10
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      相关资源
      最近更新 更多