gpt4 book ai didi

python - Pandas:使用交叉表时更改列的顺序

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

非常简单,我想更改 Panda 的 crosstab 的列顺序。

现在,它按字母顺序排列,即:星期五、星期一、星期六、星期日、星期四、星期二、星期三。我希望它按顺序进行,即:星期一、星期二、...、星期日。

这是一个数据集,我想在其中为一周中的几天和发生的时间制作一个交叉表

我现在正在这样做:

pd.crosstab(data_2019.HOUR, data_2019.DAY_OF_WEEK)

输出如下:

DAY_OF_WEEK Friday  Monday  Saturday    Sunday  Thursday    Tuesday Wednesday
HOUR
0 204 255 256 260 225 222 192
1 121 111 198 230 116 117 145
2 128 90 217 222 84 111 96

最佳答案

您可以按要求的顺序创建包含星期几的列表。然后您可以使用 .crosstab 并使用

更改运行 .crosstab 的输出顺序

生成交叉表

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday']

c = pd.crosstab(...)

一个选项

更改crosstab生成的列的顺序

  • 这相当于 selecting 所有 列,但按照您需要的顺序使用工作日名称列表,因为crosstab 输出只是一个普通的 Pandas DataFrame
c = c[days]

或者

使用.reindex使用 axis='columns' 并指定用于更改 DataFrame

索引(列)的列表( days)
c = c.reindex(days, axis="columns")

关于python - Pandas:使用交叉表时更改列的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56613995/

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