在Python中的一个Sing数据框中合并列



这是一个假数据框架:

import pandas as pd
employee = {'EmployeeID' : [0, 1, 2, 3, 4, 5, 6],
         'LastName' : ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
         'Name' : ['w', 'x', 'y', 'z', None, None, None],
         'Name2' : ['H','I', None, 'J', 'K', 'L', 'M']}
df = pd.DataFrame(employee)

现在,我想做2件简单的事情,这些简单的事情在阅读了许多文档后无法成功完成。

1(我想将名称和名称2合并为"名称"列。如果我想要它

'Name' : ['w', 'x', 'y', 'z', 'K', 'L', 'M']

我应该尝试像左内连接之类的东西吗?我对此感到非常困惑。

2(应使用姓氏和名称进行另一个合并。我只希望他们在一起。

'Name' : ['aw', 'bx', 'cy', 'dz', 'e', 'f', 'g']

我觉得这应该很简单,但是我仍在学习。如果有人可以帮助我,我会非常感谢!

谢谢

这应该有效:

import pandas as pd
employee = {'EmployeeID' : [0, 1, 2, 3, 4, 5, 6],
            'LastName' : ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
            'Name' : ['w', 'x', 'y', 'z', None, None, None],
            'Name2' : ['H','I', None, 'J', 'K', 'L', 'M']}
df = pd.DataFrame(employee)
df['Name'] = df['Name'].fillna(df['Name2'])
df['FullName'] = df['LastName'] + df['Name']
df = df.drop('Name2', 1)
#    EmployeeID LastName Name FullName
# 0           0        a    w       aw
# 1           1        b    x       bx
# 2           2        c    y       cy
# 3           3        d    z       dz
# 4           4        e    K       eK
# 5           5        f    L       fL
# 6           6        g    M       gM

最新更新