在Python中,Grouper和axis的长度必须相同

在Python中,Grouper和axis的长度必须相同,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我是Python的初学者,我学习一本教科书来学习Pandas模块。 我有一个名为Berri_bike的数据框,它来自以下代码: bike_df=pd.read_csv(os.path.join(path,'comptagevelo2012.csv'),parse_dates=['Date'],\ encoding='latin1',dayfirst=True,index_col='Date') Berri_bike=bike_df

我是Python的初学者,我学习一本教科书来学习Pandas模块。 我有一个名为Berri_bike的数据框,它来自以下代码:

  bike_df=pd.read_csv(os.path.join(path,'comptagevelo2012.csv'),parse_dates=['Date'],\
                          encoding='latin1',dayfirst=True,index_col='Date')



  Berri_bike=bike_df['Berri1'].copy() # get only the column='Berri1'

  Berri_bike['Weekday']=Berri_bike.index.weekday

  weekday_counts = Berri_bike.groupby('Weekday').aggregate(sum)
  weekday_counts
我的Berri_bilk中有3列,一个数据索引-从2012年1月1日到2012年12月31日,值列和每个数据的编号,以及一个我分配给它的工作日列。但是当我想按值分组时,我得到了一个错误:ValueError:Grouper和axis必须是相同的长度,我不确定这意味着什么,我想做的是非常简单的,就像在SQL中,sum(value)grouped weekday。。。有人能告诉我这里发生了什么事吗


将列复制到熊猫系列中,而不是新的数据帧中,因此需要执行以下操作。如果打印出
Berri_bike
,您可以看到这一点,因为它不显示列名。
相反,你应该:

import pandas as pd
df = pd.DataFrame(np.random.randint(0, 30, size = (70, 2)),
                  columns = ["A", "B"],
                  index = pd.date_range("20180101", periods = 70))

Berri_bike = df[["A"]]

Berri_bike['Weekday'] = Berri_bike.index.weekday

weekday_counts = Berri_bike.groupby("Weekday").sum()
print(weekday_counts)
#sample output
          A
Weekday    
0        148
1        101
2        127
3        139
4        163
5         74
6        135