gpt4 book ai didi

python - 从 Pandas 数据框创建嵌套字典

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:21 25 4
gpt4 key购买 nike

我正在尝试从 Pandas 数据框创建嵌套字典。

我有这个数据框:

# this code should reproduce the example dataframe below:
df = pd.DataFrame({'ScID.xml': {0: '0006-****(****)050[****:ayfb]2.3.co.xml',
1: '0006-****(****)050[****:smihds]2.3.co.xml',
2: '0006-****(****)050[****:gissad]2.3.co.xml'},
'topic1': {0: 7.26744186046513e-06, 1: 0.0006479109, 2: 3.413e-06},
'topic2': {0: 7.26744186046513e-06, 1: 0.0091339857, 2: 3.413e-06},
'topic3': {0: 7.26744186046513e-06, 1: 2.79485746226941e-06, 2: 3.413e-06}})

# example dataframe:
ScID.xml topic1 topic2 topic3
0 0006-****(****)050[****:ayfb]2.3.co.xml 0.000007 0.000007 0.000007
1 0006-****(****)050[****:smihds]2.3.co.xml 0.000648 0.009134 0.000003
2 0006-****(****)050[****:gissad]2.3.co.xml 0.000003 0.000003 0.000003

我想生成一个这样的嵌套字典:

new_dict = {
'topic1': {'0006-****(****)050[****:ayfb]2.3.co.xml': 0.000007,
'0006-****(****)050[****:smihds]2.3.co.xml': 0.000648,
'0006-****(****)050[****:gissad]2.3.co.xml': 0.000003},

'topic2': {'0006-****(****)050[****:ayfb]2.3.co.xml': 0.000007,
'0006-****(****)050[****:smihds]2.3.co.xml': 0.009134,
'0006-****(****)050[****:gissad]2.3.co.xml': 0.000003},

'topic3': {'0006-****(****)050[****:ayfb]2.3.co.xml': 0.000007,
'0006-****(****)050[****:smihds]2.3.co.xml': 0.000003,
'0006-****(****)050[****:gissad]2.3.co.xml': 0.000003}
}

其中 topicX 是键,ScID.xmls 是子键。

最佳答案

您可以使用 set_index 后跟 pd.DataFrame.to_dict .

res = df.set_index('ScID.xml').to_dict(orient='dict')

{'topic1': {'0006-****(****)050[****:ayfb]2.3.co.xml': 7.2674418604651302e-06,
'0006-****(****)050[****:gissad]2.3.co.xml': 3.4130000000000002e-06,
'0006-****(****)050[****:smihds]2.3.co.xml': 0.0006479109},
'topic2': {'0006-****(****)050[****:ayfb]2.3.co.xml': 7.2674418604651302e-06,
'0006-****(****)050[****:gissad]2.3.co.xml': 3.4130000000000002e-06,
'0006-****(****)050[****:smihds]2.3.co.xml': 0.0091339856999999997},
'topic3': {'0006-****(****)050[****:ayfb]2.3.co.xml': 7.2674418604651302e-06,
'0006-****(****)050[****:gissad]2.3.co.xml': 3.4130000000000002e-06,
'0006-****(****)050[****:smihds]2.3.co.xml': 2.79485746226941e-06}}

关于python - 从 Pandas 数据框创建嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50758869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com