用第一行值替换每个组中的行。Pandas Groupby
2020-05-13
1301
2个回答
您可以执行以下操作:
df['B'] = df.groupby('A')['B'].transform('first')
或者,如果数据已经按
A
排序,如下所示:
df['B'] = df['B'].mask(df['A'].duplicated()).ffill()
输出:
A B
0 foo 1
1 foo 1
2 bar 2
3 bar 2
4 bar 2
Quang Hoang
2020-05-13
使用
drop_duplicates
+
repeat
s=df.drop_duplicates('A')
s=s.reindex(s.index.repeat(df.A.value_counts()))
Out[555]:
A B
0 foo 1
0 foo 1
0 foo 1
2 bar 2
2 bar 2
BENY
2020-05-13