如何为熊猫中的某些字符串创建字典?

时间:2021-07-19 14:54:47

标签: python pandas

我有包含主题 ID 的以下列,并希望通过取该 ID 的分数的总和并将其放入以 ID 和分数作为键/值的字典中,将其与它右侧的评分列进行匹配。这是两列:

subject   Score
phchp005  1
phchp005  0
phchp006
phchp006
phchp006  0 
phchp006  0
phchp006  0
phchp006  0 
phchp006  1
phchp006  1
phchp006  1
phchp008 

所以输出将是这样的字典:

{phchp005: 1, phchp006: 3, phchp008: 0}

还有 NaN 值,我将只用 0 填充。 谢谢。

2 个答案:

答案 0 :(得分:1)

通过 groupby() 尝试:

out=df.groupby('subject')['Score'].sum().astype(int).to_dict()

out 的输出:

{'phchp005': 1, 'phchp006': 3, 'phchp008': 0}

答案 1 :(得分:1)

生成数据帧测试数据:

df = pd.DataFrame(
    {
        "subject": 2 * ["phchp005"] + 9 * ["phchp006"] + 1 * ["phchp008"],
        "Score": [1] + 7 * [0] + 3 * [1] + [0],
    }
)

使用 Groupby:

df.groupby("subject").sum().to_dict()["Score"]

输出:

{'phchp005': 1, 'phchp006': 3, 'phchp008': 0}
相关问题