簡體   English   中英

我想在交叉表數據中添加新列

[英]I want to add new column into cross tabulation data

我有交叉表數據的東西。 我創建的使用

x = pd.crosstab(a['Age Category'], a['Category'])

| Category     | A | B  | C  | D |
|--------------|---|----|----|---|
| Age Category |   |    |    |   |
| 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 |

我想添加新列Total ,它將在交叉表數據中包含類似這樣的行總和。


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

我試過x['Total'] = x.sum(axis = 1)但這段代碼給了我TypeError: cannot insert an item into a CategoricalIndex that is not already an existing category

感謝您的時間和考慮。

使用CategoricalIndex.add_categories將新類別附加到列:

x.columns = x.columns.add_categories(['Total'])
x['Total'] = x.sum(axis = 1)
print (x)
          A   B   C  D  Total
Category                     
21-26     2   2   4  1      9
26-31     7  11  12  5     35
31-36     3   5   5  2     15
36-41     2   4   1  7     14
41-46     0   1   3  2      6
46-51     0   0   2  3      5
Above 51  0   3   0  6      9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM