【问题标题】:Create Dictionary From Dataframe Values [duplicate]从数据框值创建字典 [重复]
【发布时间】:2020-12-04 11:19:35
【问题描述】:

我想创建一个字典,其中键是数据框一列的值,而值来自相应行中的另一列。

这是一个示例数据框:

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
df.head()

    A   B   C   D
0   34  99  78  0
1   31  47  44  22
2   53  38  11  27
3   86  84  81  87
4   57  4   23  46

我想得到一个这样的字典,A值作为键,C值作为字典值:

{34: 78, 31: 44, 53: 11, 86: 81,57: 23}

你会怎么做呢?

【问题讨论】:

标签: python python-3.x pandas


【解决方案1】:

您可以从带有键和元组的元组数组创建字典。因此,在使用 zip 函数将值转换为元组后,您可以在此处直接使用 dict 构造函数

In [12]: dict(zip(df['A'], df['C']))                                                                                                                                                                               
Out[12]: {34: 78, 31: 44, 53: 11, 86: 81, 57: 23}

【讨论】:

    【解决方案2】:

    另一种方法 Series.to_dictDataFrame.set_index

    df.set_index('A')['C'].to_dict()
    # {34: 78, 31: 44, 53: 11, 86: 81, 57: 23}
    

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 1970-01-01
      • 2020-07-15
      • 2019-05-22
      • 2021-07-27
      • 2021-12-30
      • 1970-01-01
      • 2016-01-14
      相关资源
      最近更新 更多