首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何根据字典键从嵌套的字典中创建多个新的数据框列

根据字典键从嵌套的字典中创建多个新的数据框列,可以通过以下步骤实现:

  1. 首先,我们需要将嵌套的字典转换为数据框。可以使用pandas库中的DataFrame函数来实现。假设我们有一个嵌套字典nested_dict,可以使用以下代码将其转换为数据框:
代码语言:txt
复制
import pandas as pd

nested_dict = {
    'key1': {'subkey1': 1, 'subkey2': 2},
    'key2': {'subkey1': 3, 'subkey2': 4}
}

df = pd.DataFrame.from_dict(nested_dict, orient='index')

这将创建一个数据框df,其中每个嵌套字典的键将成为数据框的列名。

  1. 接下来,我们可以使用apply函数和lambda表达式来根据字典键创建新的数据框列。假设我们想要根据subkey1subkey2创建新的数据框列,可以使用以下代码:
代码语言:txt
复制
df['new_column1'] = df.apply(lambda x: x['subkey1'], axis=1)
df['new_column2'] = df.apply(lambda x: x['subkey2'], axis=1)

这将创建两个新的数据框列new_column1new_column2,它们的值分别为每行中subkey1subkey2对应的值。

完整的代码示例如下:

代码语言:txt
复制
import pandas as pd

nested_dict = {
    'key1': {'subkey1': 1, 'subkey2': 2},
    'key2': {'subkey1': 3, 'subkey2': 4}
}

df = pd.DataFrame.from_dict(nested_dict, orient='index')

df['new_column1'] = df.apply(lambda x: x['subkey1'], axis=1)
df['new_column2'] = df.apply(lambda x: x['subkey2'], axis=1)

print(df)

输出结果为:

代码语言:txt
复制
      subkey1  subkey2  new_column1  new_column2
key1        1        2            1            2
key2        3        4            3            4

这样,我们根据字典键从嵌套的字典中成功创建了多个新的数据框列。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券