2016-02-27 121 views
3

我正在使用PANDAS groupBy并注意到它正在删除我正在运行的值的标头名称。PANDAS GroupBy删除标头

data = pd.read_csv("<CSV FILE NAME>", low_memory=False) 
print data.head() 
print data.columns 

给我下面的输出:

 Store ID  Daily Sales 
0  4444444   436 
1  4555555   406 
2  6435353   487 
3  3421456   637 
4  1111111   516 
Index([u'Store ID', u' Daily Sales'], dtype='object') 

当我运行

data = data.groupby(['Store Number']).mean() 
print data.head() 
print data.columns 

输出变为

    Daily Sales 
Store ID    
4166646  236.280394 
4166663  152.061884 
4166664  131.163746 
4166665  144.920044 
4166666  225.075027 
Index([u'Daily Sales'], dtype='object') 

被添加的店铺ID头名作为价值并从h中删除eader名称。这背后的原因是什么,有没有修复?

+1

'data.reset_index()'是关键:) – cel

+0

@cel感谢,这解决了吧:)我真的不明白它是什么尽管这样做。当我运行群组时,为什么它决定删除商店Id列? – rvisio

+1

您分组的列是结果的新索引。这就是为什么他们似乎迷失了。 'reset_index()'移除了这个特殊的索引,并再次使它们成为正常的列。我很确定有一个问题/答案对可以很好地解释这一点。可能有人的蟒蛇人将链接它。 – cel

回答

4

设置as_index参数为False。

data.groupby(['Store Number'], as_index=False).mean() 
+0

谢谢,在熊猫中编制索引令我感到困惑 – rvisio

-1

在留言中加入在data = data.reset_index()运行GROUPBY后解决由@cel()附加了头回