我的数据框orig_df
如下所示:
category top_level weekday
date
2001-06-07 4.1 4 3
2001-10-26 4.1 4 4
2001-12-03 4.1 4 0
2001-05-31 4.4 4 3
2000-06-28 4.1 4 2
2001-05-25 4.1 4 4
2000-09-11 4.1 4 0
orig_df.dtypes
的输出是:
category object
top_level object
weekday int32
dtype: object
我希望按工作日和类别对数据进行分组,因此我正在执行以下操作:
df = orig_df.groupby(['weekday', 'category']).count().reset_index()
给了我以下内容:
weekday category top_level
0 0 4.10 23
1 0 4.11 3
2 0 4.12 3
3 0 4.13 1
4 0 4.15 2
5 0 4.16 2
6 0 4.19 1
7 0 4.20 4
8 0 4.30 2
9 0 4.40 3
10 0 4.50 3
问题是当它需要是一个字符串时,它已将我category
列的数据类型更改为int64
,因为它是一个标签,而不是一个数字,当它出现时将标签从字符串更改为数字,它会改变标签4.1
到4.10
,这在我的数据集中具有完全不同的含义。
以下是df.dtypes
的输出:
weekday int64
category float64
top_level int64
dtype: object
如何阻止它进行此转换?