gpt4 book ai didi

python - 如何使用 bool 值将一维DataFrame扩展为二维DataFrame?

转载 作者:行者123 更新时间:2023-12-01 03:28:58 26 4
gpt4 key购买 nike

>>> df = pd.DataFrame(data = ['a','b','b','c'],index=['day1','day1','day2','day2'],columns=['name'])

name
day1 a
day1 b
day2 b
day2 c

如何将 df 转换为具有 bool 值的二维 DataFrame,例如

      a  b  c
day1 1 1 0
day2 0 1 1

最佳答案

1) (较慢的方法) - 使用 crosstab计算计数频率表:

pd.crosstab(df.index, df['name'], rownames=[None]).rename_axis(None, 1)

2) (更快的方法) - 在索引轴上执行 Groupby 并分别取 value_counts + unstack 通过用 0 填充缺失值:

df.groupby(level=0)['name'].value_counts().unstack(fill_value=0).rename_axis(None, 1)

两种情况下的结果输出:

enter image description here

关于python - 如何使用 bool 值将一维DataFrame扩展为二维DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41149324/

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