gpt4 book ai didi

python - 基于两列的 Pandas 数据透视(多索引)

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:17 26 4
gpt4 key购买 nike

我有一个数据框:

u_id    date        social_interaction_type_id  Total_Count
4 2018-08-19 4 5
4 2018-08-24 2 3
4 2018-08-21 1 4

我想根据 u_id 和日期旋转 DataFrame。

所以结果应该是这样的:

u_id    date        4       2       1
4 2018-08-19 5 nan nan
4 2018-08-24 nan 3 nan
4 2018-08-21 nan nan 4

我的代码尝试:

df.pivot(index = ['u_id','date'] , columns='social_interaction_type_id',values='Total_Count')

错误:

ValueError: Length of passed values is 8803, index implies 1

最佳答案

pd.DataFrame.pivot ,出于我不知道的原因,不要使用 index 的值列表。根据文档,可选的 index 必须是 stringobject。解决方法是使用 pd.DataFrame.pivot_table使用 aggfunc='first':

res = df.pivot_table(index=['u_id', 'date'], columns='social_interaction_type_id',
values='Total_Count', aggfunc='first').reset_index()

print(res)

social_interaction_type_id u_id date 1 2 4
0 4 2018-08-19 NaN NaN 5.0
1 4 2018-08-21 4.0 NaN NaN
2 4 2018-08-24 NaN 3.0 NaN

关于python - 基于两列的 Pandas 数据透视(多索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52701012/

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