我想在交叉表中插入列?

2024-04-19 17:46:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个交叉制表对象

| Age Category | A | B  | C  | D |
|--------------|---|----|----|---|
| 21-26        | 2 | 2  | 4  | 1 |
| 26-31        | 7 | 11 | 12 | 5 |
| 31-36        | 3 | 5  | 5  | 2 |
| 36-41        | 2 | 4  | 1  | 7 |
| 41-46        | 0 | 1  | 3  | 2 |
| 46-51        | 0 | 0  | 2  | 3 |
| Above 51     | 0 | 3  | 0  | 6 |

如果我在做age.dtypes,这就是给我输出

Age Category
A int64
B int64
C int64
D int64 
dtype: object

但是我想年龄类别也应该是object。如果需要为此再插入一列,就可以了。因此age.dtypes应该显示如下内容

Age Category
Age Category  object
A             int64
B             int64
C             int64
D             int64 
dtype: object

谢谢你的时间和考虑


Tags: 对象内容ageobject时间类别交叉above
1条回答
网友
1楼 · 发布于 2024-04-19 17:46:41

我认为您需要^{}将索引转换为列,然后在必要时rename_axis

age = age.reset_index().rename_axis(columns='Age Category')
print (age.dtypes)
Age Category
Age Category    object
A                int64
B                int64
C                int64
D                int64
dtype: object

编辑:

如果列名称是分类名称,请在以下内容之前使用^{}

age.columns = age.columns.add_categories(['Age Category'])
age = age.reset_index().rename_axis(columns='Age Category')

print (age.dtypes)
Age Category
Age Category    object
A                int64
B                int64
C                int64
D                int64
dtype: object

相关问题 更多 >