2016-11-17 5 views

答えて

4

を使用できResampler.aggDataFrameGroupBy.agg

df1 = df.resample('D').agg({'A':'sum', 'B':['sum', 'size']}) 
print (df1) 
      B  A 
      sum size sum 
Index     
2016-01-01 12 2 6 
2016-01-02 1 1 1 

df2 = df.groupby(level=0).agg({'A':'sum', 'B':['sum', 'size']}) 
print (df2) 
      B  A 
      sum size sum 
Index     
2016-01-01 12 2 6 
2016-01-02 1 1 1 

必要な場合は、列内のMultiIndexを削除してください:

df1 = df.resample('D').agg({'A':'sum', 'B':['sum', 'size']}) 
df1.columns = ['B','Count','A'] 
df1 = df1[['A','B','Count']] 
print (df1) 
      A B Count 
Index     
2016-01-01 6 12  2 
2016-01-02 1 1  1 

df2 = df.groupby(level=0).agg({'A':'sum', 'B':['sum', 'size']}) 
df2.columns = ['B','Count','A'] 
df2 = df2[['A','B','Count']] 
print (df2) 
      A B Count 
Index     
2016-01-01 6 12  2 
2016-01-02 1 1  1 
+0

これは私がやろうとしていたものです。あなたがリストをagg()に送ることができるかどうかは分かりませんでした。 –

関連する問題