gpt4 book ai didi

python - 如何在没有一次热编码的情况下将行数据转换为列

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:42 26 4
gpt4 key购买 nike

我有如下的数据集。

MonthDate   DayCategory
Jan-01 Federal Holiday
Jan-19 Federal Holiday
Jan-23 Event
Jan-31 Event
Feb-14 Event
Feb-16 Federal Holiday
Feb-19 Federal Holiday
Feb-22 Federal Holiday

我想要像下面这样的列表

使用 Python 代码输出列表应该如下所示:

    Month   FederalHoliday  Event
Jan 2 2
Feb 3 1

请帮我解决这个问题?

最佳答案

为了正确排序需要有序的分类,为了计数使用 crosstab :

cats = ['Jan', 'Feb', 'Mar', 'Apr','May','Jun', 'Jul', 'Aug','Sep', 'Oct', 'Nov', 'Dec']
md = pd.to_datetime(df['MonthDate'], format='%b-%d').dt.strftime('%b')
#alternative
#md = df['MonthDate'].str.split('-').str[0]
df = pd.crosstab(pd.Categorical(md, categories=cats, ordered=True),
df['DayCategory']).rename_axis('Month').reset_index()

df.columns.name = None
print (df)
Month Event Federal Holiday
0 Jan 2 2
1 Feb 1 3

关于python - 如何在没有一次热编码的情况下将行数据转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54556984/

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