将行的值设置为列并根据其他列的行值填充它
我有一个像这样的数据框:
id category year freq
101 1 2020 1
101 1 2021 1
202 2 2020 2
202 2 2021 6
203 3 2021 2
我需要根据 id、类别和年份值转换数据框,并用该年的频率填充年份值。所需的输出是:
id category 2020 2021
101 1 1 1
202 2 2 6
203 3 0 2
我尝试使用一种热编码,但我无法用频率填充每年的列。
i have a dataframe like this:
id category year freq
101 1 2020 1
101 1 2021 1
202 2 2020 2
202 2 2021 6
203 3 2021 2
I need to transform the dataframe based on id, category and year's value and fill the year's value with frequency for the year. The desired output is:
id category 2020 2021
101 1 1 1
202 2 2 6
203 3 0 2
i have tried using one hot encoding, but the i can't fill each year's column with frequency.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎是
df.pivot_table< 的工作/代码>
。请注意,我们将使用
fill_value=0
将缺失值替换为 0(以匹配您的预期输出):Seems like a job for
df.pivot_table
. Notice that we'll usefill_value=0
to replace missing values with 0 (to match your expected output):