Pandas 将列表字典映射到数据库
我有一个字典,其中包含一个id和该id对应值的列表。 我正试图将这本词典映射到一个新的词典。 df包含要映射到的相同id,但它需要按照df中的外观顺序映射该列表中的项目 例如:Pandas 将列表字典映射到数据库,pandas,dataframe,dictionary,mapping,Pandas,Dataframe,Dictionary,Mapping,我有一个字典,其中包含一个id和该id对应值的列表。 我正试图将这本词典映射到一个新的词典。 df包含要映射到的相同id,但它需要按照df中的外观顺序映射该列表中的项目 例如: sample_dict = {0:[0.1,0.4,0.5], 1:[0.2,0.14,0.3], 2:[0.2,0.1,0.4]} df看起来像: 将字典映射到df的输出如下所示: 很抱歉像这样键入表,实际的df非常大,我对stackexchange和pandas还是新手 最终输出应将id列表值按顺序映射到播放器,因
sample_dict = {0:[0.1,0.4,0.5], 1:[0.2,0.14,0.3], 2:[0.2,0.1,0.4]}
df看起来像:
将字典映射到df的输出如下所示:
很抱歉像这样键入表,实际的df非常大,我对stackexchange和pandas还是新手
最终输出应将id列表值按顺序映射到播放器,因为它们按顺序显示,因为df按id排序,然后播放器让我们尝试使用
reindex进行分解
df['new'] = pd.Series(sample_dict).reindex(df.id.unique()).explode().values
df
Out[140]:
id Player new
0 0 1 0.1
1 0 2 0.4
2 0 3 0.5
3 1 1 0.2
4 1 2 0.14
5 1 3 0.3
6 2 1 0.2
7 2 2 0.1
8 2 3 0.4
我收到错误:AttributeError:“Series”对象没有属性“explode”@Redratz请尝试更新您的pandas~在0.25更新成功后添加的新函数!非常感谢。