熊猫由两列组成,一列按行,另一列按列



我有一个csv文件,其中包含n行房屋销售。

2013013[/tr>
House
One Semi 2010
两个 平面 2011
三间 平房 2012
四个 Semi
五个

您可以使用panda的get_dummies方法来实现同样的目的。它基本上为一个分类列创建多个列,并用值填充它。

df = pd.DataFrame({'House_type':['Semi','Flat','Bungalow','Semi','Semi'],'sale_year':[2010,2011,2012,2013,2013]})
df_final = pd.get_dummies(df,columns=['sale_year']).groupby('House_type').sum()
df_final

您可以在此处使用pivot_table

result = pd.pivot_table(df, index='House_type', columns='Sale_year',
aggfunc='count', fill_value=0)

它直接给出:

House               
Sale_year   2010 2011 2012 2013
House_type                     
Flat           0    1    0    0
Semi           1    0    0    2
bungalow       0    0    1    0

如果你想的话,你可以稍微格式化一下:

result.columns = result.columns.get_level_values(1).rename(None)
result = result.reset_index()

最终得到:

House_type  2010  2011  2012  2013
0       Flat     0     1     0     0
1       Semi     1     0     0     2
2   bungalow     0     0     1     0

最新更新