:両方もののPython Pandas:Groupbyなぜ1つのシンタックスしか機能しないのですか?以下の場合
>>df['b_new'] = df.a.map(df.groupby('a').nth(-1))
...
TypeError: 'DataFrame' object is not callable
:
df = pd.DataFrame({'a': (1,1,2,3,3), 'b':(20,21,30,40,41)})
これだけ
df['b_new'] = df.a.map(df.groupby('a').b.nth(-1))
ではなく働いているのはなぜ
>>df.groupby('a').b.nth(-1)
b
a
1 21
2 30
3 41
と
df.groupby('a').nth(-1)
-
b
a
1 21
2 30
3 41
非常に似通った結果を返します。
は(参照:https://stackoverflow.com/a/47924467/7450524
これを試してください: 'type(df.groupby( 'a').b.nth(-1))'と 'type(df.groupby( 'a')。nth(-1))' 他の1つはデータフレームを返します。 –
シリーズマッピングは別のシリーズでのみ動作することをご存知でしょうか。 – Dark
'df.groupby( 'a').b.nth(-1)'はあなたの言うことを返しません。 – Goyo