我正在处理以下Dataframe:
CONVERT
我想在[' LN']上过滤重复的名称,并在[' FN']中添加名字的第一个字符。在这个例子中,我想添加' J' P' P'和' L'每个史密斯'在[' LN']上有空格。
所需的输出:
print (df)
LN FN
0 Smith Jason
1 Smith Pat
2 Smith Liz
3 Kim Jim
4 Hazel Vickie
5 Sun Sandra
我的尝试:
我的下面的代码实现了所需的输出,但应该有更清洁,更像熊猫的方式来实现这一目标。
print (df)
LN FN
0 Smith J Jason
1 Smith P Pat
2 Smith L Liz
3 Kim Jim
4 Hazel Vickie
5 Sun Sandra
感谢您对此的帮助!
答案 0 :(得分:4)
你可以这样做:
In [41]: df.loc[df.LN.duplicated(keep=False), 'LN'] += ' ' + df.FN.str[0]
In [42]: df
Out[42]:
LN FN
0 Smith J Jason
1 Smith P Pat
2 Smith L Liz
3 Kim Jim
4 Hazel Vickie
5 Sun Sandra