1
我有一個DF:分組數據框的列?
temp = pd.DataFrame({'Y': ['A', 'B', 'B', 'A', 'B'],
'Z': [10, 5, 6, np.nan, 12],
})
我集合Y爲索引,然後計算數量和尺寸分組方式:
temp.sort('Y', inplace=True)
temp.set_index('Y', inplace=True, drop=False)
temp.sort_index(inplace=True)
temp['n_obs'] = temp.groupby(by='Y')['Z'].transform('size')
temp['valid'] = temp.groupby(by='Y')['Z'].transform('count')
這產生了:
Y Z n_obs valid
Y
A A 10.0 2.0 1.0
A A NaN 2.0 1.0
B B 5.0 3.0 3.0
B B 6.0 3.0 3.0
B B 12.0 3.0 3.0
現在,我想按n-obs分組有效分組:
temp['New']=temp.groupby(by='Y').apply(lambda x: (x['valid']/x['n_obs']))
但我得到這個錯誤:
Exception: cannot handle a non-unique multi-index!
解決方案嗎?