gpt4 book ai didi

python - 如何使用 python pandas 创建数据透视表,其中列条目旋转到列标题并为空白条目创建新列?

转载 作者:行者123 更新时间:2023-11-30 22:00:14 27 4
gpt4 key购买 nike

我在 DataFrame 中有一个取自 Excel 的表格:

col A      ColB  colC  colD   
123451 a w p
123452 b x q
123453 c y r
123454 a x
123454 a w p

我想要使用 pandas.pivot_table 进行类似的操作:

colC   p  q  r  "unassigned" "total"
w 2 0 0 0 2
x 0 1 0 1 2
y 0 0 1 0 1

最佳答案

您可以使用crosstab对于第一列,然后使用 isna 检查缺失值并按 agg 聚合按 sum 进行计数,按 size 进行总计,最后通过 DataFrame.join 一起加入:

df1 = pd.crosstab(df.colC, df.colD)
print (df1)
colD p q r
colC
w 2 0 0
x 0 1 0
y 0 0 1

df2 = (df['colD'].isna()
.astype(int)
.groupby(df['colC'])
.agg([('unassigned','sum'),('total','size')]))
print (df2)
unassigned total
colC
w 0 2
x 1 2
y 0 1

df = df1.join(df2).reset_index()
print (df)
colC p q r unassigned total
0 w 2 0 0 0 2
1 x 0 1 0 1 2
2 y 0 0 1 0 1

关于python - 如何使用 python pandas 创建数据透视表,其中列条目旋转到列标题并为空白条目创建新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54361140/

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