Python 我想在交叉列表数据中添加新列
我有交叉列表数据。我使用Python 我想在交叉列表数据中添加新列,python,python-3.x,pandas,python-2.7,pandas-groupby,Python,Python 3.x,Pandas,Python 2.7,Pandas Groupby,我有交叉列表数据。我使用 x=pd.crosstab(一个['Age Category'],一个['Category']) 我想添加新的列Total,它将在交叉表格数据中包含类似这样的行和 | Category | A | B | C | D | Total | |--------------|---|----|----|---|-------| | Age Category | | | | | | | 21-26 | 2 | 2 |
x=pd.crosstab(一个['Age Category'],一个['Category'])
我想添加新的列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:无法将项目插入到尚未存在的类别索引中
感谢您的时间和考虑。用于将新类别附加到列:
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
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