我有 2 列 - _a、_b。
import numpy as np
import pandas as pd
df = pd.DataFrame({'_a':[1,1,1,2,2,3,3],'_b':[3,4,5,3,3,3,9]})
df
_a _b
0 1 3
1 1 4
2 1 5
3 2 3
4 2 3
5 3 3
6 3 9
我需要将 _b 列中的第一个值更改为 0,并按 _a 列分组 喜欢这里:
_a _b
0 1 0
1 1 4
2 1 5
3 2 0
4 2 3
5 3 0
6 3 9
提前谢谢你。
请您参考如下方法:
默认情况下,pd.Series.duplicated 为第一项返回 False。利用它,您可以:
df.loc[~df['_a'].duplicated(), '_b'] = 0
df
Out:
_a _b
0 1 0
1 1 4
2 1 5
3 2 0
4 2 3
5 3 0
6 3 9
