过滤重复项并将字符附加到每个项目

时间:2017-02-02 17:01:17

标签: python pandas dataframe duplicates

我正在处理以下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

感谢您对此的帮助!

1 个答案:

答案 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