gpt4 book ai didi

python - pandas groupby 列缺失

转载 作者:行者123 更新时间:2023-11-30 22:46:23 25 4
gpt4 key购买 nike

如何让以下脚本中的每个人的名字旁边都有"is"和“否”计数?我需要为每个人提供一些值(value),即使它为零。

import pandas as pd
import numpy as np

df = pd.DataFrame({'names': ['Charlie', 'Charlie', 'Charlie', 'Charlie', 'Bryan',
'Bryan', 'Bryan', 'Bryan', 'Jaimie', 'Jaimie',
'Jaimie', 'Jaimie'],
'passed': ['YES', 'YES', 'YES', 'YES', 'NO', 'NO', 'NO', 'NO',
'YES', 'NO', 'YES', 'NO']})

df2 = pd.DataFrame(df.groupby([df['names'], df['passed']]).size())
df2.columns = ['Count']

print(df2)
<小时/>
                Count
names passed
Bryan NO 4
Charlie YES 4
Jaimie NO 2
YES 2

最佳答案

您可以使用重新索引:

df2
Out:
Count
names passed
Bryan NO 4
Charlie YES 4
Jaimie NO 2
YES 2
<小时/>
idx = pd.MultiIndex.from_product([df['names'].unique(), df['passed'].unique()])

df2.reindex(idx, fill_value=0)
Out:
Count
Charlie YES 4
NO 0
Bryan YES 0
NO 4
Jaimie YES 2
NO 2

对于此示例,也可以使用带有 unstack 的交叉表:

pd.crosstab(df['passed'], df['names']).unstack()
Out:
names passed
Bryan NO 4
YES 0
Charlie NO 0
YES 4
Jaimie NO 2
YES 2
dtype: int64

关于python - pandas groupby 列缺失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897334/

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