python - pandas 将 dataframe id 列转换为字典并将相应的列列出

标签 python pandas

我想将我的数据框转换为一个字典,其中的键是一个 id 列。我想将具有相应 id 的所有相应的第二列值放入列表中。

示例数据:

s1 = pd.Series(['A','A','B'],name = 's1')
s2 = pd.Series(['1','2','2'],name = 's2')

df = pd.concat([s1,s2],axis = 1)

s1 s2
A  1
A  2
B  2

我想要的输出

我如何获得带有映射的字典:

d = {'A':[1,2],'B':[2]}

最佳答案

还有两个选项

df.groupby('s1').s2.apply(list).to_dict()
Out[44]: {'A': ['1', '2'], 'B': ['2']}

s=df.groupby('s1').s2.apply(list)
dict(zip(s.index,s))
Out[48]: {'A': ['1', '2'], 'B': ['2']}

关于python - pandas 将 dataframe id 列转换为字典并将相应的列列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49061542/

相关文章:

python - 反混淆:简化 Python3 表达式

python - 如何在 python 中分组并绘制 2 列数据框

pandas - 生成具有条件的随机数列表 - numpy

python - 如何从 Pandas 日期时间列中提取组件并分配它们

python - 按列显示多个颜色图的热图

python - 为什么我们在这个装饰器中返回 None ?

python - 通过 pandas to_sql 命令检查数据库插入结果 - Flask

python - 如何根据条件连接同一列的值?

python - Django Rest Framework - 将带有文件和其他数据的多部分/表单数据发送到 API

python - 通过 Shell 在所有函数的开头和结尾添加日志语句