很简单,我想更改熊猫crosstab
的列顺序。
现在,它按字母顺序排列,即:星期五,星期一,星期六,星期日,星期四,星期二,星期三。我希望它按顺序进行,即:星期一,星期二,...,星期日。
这是一个数据集,我想在一周中的某天以及发生时间的一个小时内创建一个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
答案 0 :(得分:0)
只需按要求的顺序创建一个星期几的列表即可。然后,您可以使用.crosstab
并使用
.crosstab
的输出顺序
生成crosstab
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday']
c = pd.crosstab(...)
一个选项
由crosstab
产生的列的更改顺序
c = c[days]
或者
将.reindex
与axis='columns'
一起使用,并指定列表(days
)用于更改DataFrame
的索引(列)
c = c.reindex(days, axis="columns")