gpt4 book ai didi

python - 从 DF 列将值插入字典 - Pandas (Python)

转载 作者:太空宇宙 更新时间:2023-11-04 09:42:44 24 4
gpt4 key购买 nike

我有一个值列表,我试图将其与 pandas df 的列匹配,然后想创建一个字典,它将列表值作为键,然后将字典值从与数据框不同的列。

我的列表是这样的:

sample_list = [101,105,112]

我的数据框:

sample_df = pd.DataFrame([[101, "NJ"], [105, "CA"],[111, "MO"], [101, "NJ"], [112, "NB"], [101, "NJ"], [105, "CA"]], \
columns=["Col1", "Col2"])

看起来像这样,

    Col1    Col2
0 101 NJ
1 105 CA
2 111 MO
3 101 NJ
4 112 NB
5 101 NJ
6 105 CA

现在,我正在尝试迭代列表值(它们是我的 new_dict 的键)并将它们与 Col1 匹配,如果它们匹配,我想提取 Col2 值作为我的字典值。到目前为止,这就是我的代码,

new_dict = {}
for value in sample_list:
for i in sample_df['Col1']:
if value == i:
new_dict[value] = [i for i in sample_df['Col2']]

但是,我的 new_dict 看起来是这样的,

{101: ['NJ', 'CA', 'MO', 'NJ', 'NB', 'NJ', 'CA'],
105: ['NJ', 'CA', 'MO', 'NJ', 'NB', 'NJ', 'CA'],
112: ['NJ', 'CA', 'MO', 'NJ', 'NB', 'NJ', 'CA']}

我需要这样的输出,

{101: ['NJ'],
105: ['CA'],
112: ['NB']}

我怎样才能得到我想要的输出?任何帮助都会很好。

最佳答案

这样做就可以了:

new_dict = {i: [sample_df[sample_df['Col1']==i]['Col2'].values[0]] for i in sample_list}

关于python - 从 DF 列将值插入字典 - Pandas (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51031857/

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