[英]pandas groupby-apply missing columns
我有一個DataFrame,我想執行“ groupby-apply”樣式的操作,但是,該操作后缺少“關鍵”列:
df = pd.DataFrame({
'col1':['A1', 'A2', 'A3'],
'col2':['B1', 'B1', 'B2'],
'col3':[1, 2, 3,]
})
b1 = df.groupby(['col1', 'col2'], as_index=False)[['col3']].apply(lambda x: x+10)
b2 = df.groupby(['col1', 'col2'], as_index=False)['col3'].apply(lambda x: x+10)
print(b1)
print(b2)
b1將打印為:
col3
0 11
1 12
2 13
b2將打印為:
b
0 0 11
1 1 12
2 2 13
Name: col3, dtype: int64
我該如何使用組鍵列([''col1','col2']也將被打印為
col1 col2
A1 B1 11
A2 B1 12
A3 B2 13
當您打印每個groupby
object
的類型時,將看到Series
,它將在其前面有索引。 Github開放問題
df.groupby(['col1', 'col2'], as_index=False)['col3'].apply(lambda x: type(x) )
Out[11]:
col1 col2
A1 B1 <class 'pandas.core.series.Series'>
A2 B1 <class 'pandas.core.series.Series'>
A3 B2 <class 'pandas.core.series.Series'>
dtype: object
獲得預期的輸出
df.groupby(['col1', 'col2']).apply(lambda x: x['col3']+10).reset_index(level=-1,drop=True)
Out[32]:
col1 col2
A1 B1 11
A2 B1 12
A3 B2 13
Name: col3, dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.