gpt4 book ai didi

python - 将列标题转换为 Python 中的值和相应计数

转载 作者:行者123 更新时间:2023-12-02 16:03:45 24 4
gpt4 key购买 nike

我希望在 Python 中将列标题转换为具有计数的值(计数是每个唯一日期和 ID 的每个列标题下的数值)

数据

id  date    dd  aa
hey Q1 23 2 1
hey Q2 23 2 1
ok Q3 23 2 1
ok Q4 23 2 3



需要

id  date    type    
hey Q1 23 dd
hey Q1 23 dd
hey Q1 23 aa
hey Q2 23 dd
hey Q2 23 dd
hey Q2 23 aa
ok Q3 23 dd
ok Q3 23 dd
ok Q3 23 aa
ok Q4 23 dd
ok Q4 23 dd
ok Q4 23 aa
ok Q4 23 aa
ok Q4 23 aa

正在做

df.pivot(index="id", columns="Date", values=["dd"])

感谢任何建议

最佳答案

您可以通过 set_index + stack 获得一系列重复,然后使用 Series.repeat 重复索引中的所有内容(是堆栈后您需要的所有信息)。 .drop 删除指示需要重复多少次的列。

s = df.set_index(['id', 'date']).rename_axis(columns='type').stack()
df1 = s.repeat(s).reset_index().drop(0, axis=1)

     id  date  type
0 hey Q1 23 dd
1 hey Q1 23 dd
2 hey Q1 23 aa
3 hey Q2 23 dd
4 hey Q2 23 dd
5 hey Q2 23 aa
6 ok Q3 23 dd
7 ok Q3 23 dd
8 ok Q3 23 aa
9 ok Q4 23 dd
10 ok Q4 23 dd
11 ok Q4 23 aa
12 ok Q4 23 aa
13 ok Q4 23 aa

关于python - 将列标题转换为 Python 中的值和相应计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980982/

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