gpt4 book ai didi

python - 旋转 Pandas 数据框以查看是否满足条件

转载 作者:行者123 更新时间:2023-12-05 09:06:31 25 4
gpt4 key购买 nike

我有以下 DataFrame 表示用户是否在某周、某年出现:

    User    Year    Week
0 John 2020 1
1 John 2020 2
2 Steve 2020 1
3 Fred 2020 3
4 George 2020 2
5 George 2020 3
... ... ...
200 John 2021 2
201 John 2021 4
202 Steve 2021 2
203 Fred 2021 2
204 George 2021 1
205 George 2021 4

我想得到一个 DataFrame,它按 User 对数据集进行分组,每一列代表他是否出现在某一年的某一周,每一列要么是 bool 类型,要么是整数类型,可能值 0 或 1。

它看起来像这样:

        2020_1  2020_2  2020_3  ... 2021_1  2021_2  2021_3  2021_4
John 1 1 0 ... 0 1 0 1
Steve 1 0 0 ... 0 1 0 0
Fred 0 0 1 ... 0 1 0 0
George 0 1 1 ... 1 0 0 1

是否可以在不遍历 DataFrme 的情况下执行此操作?

谢谢。

最佳答案

创建一个新列并使用pd.crosstab:

pd.crosstab(df['User'],
df[['Year','Week']].astype(str).apply('_'.join, axis=1)
)

输出:

col_0   2020_1  2020_2  2020_3  2021_1  2021_2  2021_4
User
Fred 0 0 1 0 1 0
George 0 1 1 1 0 1
John 1 1 0 0 1 1
Steve 1 0 0 0 1 0

关于python - 旋转 Pandas 数据框以查看是否满足条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65912371/

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