gpt4 book ai didi

python-3.x - 如何将虚拟变量列转换为多列?

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

我知道如何将行拆分为列,但如何处理以下 dataframe

<表类="s-表"><头><日>日期 虚拟<日>平均 标签<正文>1-19120l11-19040l11-271100l21-270140l2

预期的数据帧:

<表类="s-表"><头><日>日期 avg_tavg_c标签<正文>1-192040l11-27100140l2

dummy 等于1 时,avg 为20,并重命名为avg_t 作为列。类似于 avg_c 列。

我试过:

df.groupby(['dummy','avg']).size().unstack

但是,它不起作用。

最佳答案

您还可以使用 janitor 中的 pivot_wider:.

# pip install pyjanitor
import pandas as pd
import janitor

df.pivot_wider(index = ['date', 'lable'], names_from = 'dummy')

Out[19]:
date lable avg_0 avg_1
0 1-19 l1 40 20
1 1-27 l2 140 100

如果你想要 tc:

(df.assign(dummy = df['dummy'].map({0:'c', 1:'t'})).
pivot_wider(index = ['date', 'lable'], names_from = 'dummy'))

Out[20]:
date lable avg_c avg_t
0 1-19 l1 40 20
1 1-27 l2 140 100

关于python-3.x - 如何将虚拟变量列转换为多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71964296/

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