Python 如何在空白处合并2个系列
在Dataframe/表中,我有这样的数据Python 如何在空白处合并2个系列,python,python-3.x,pandas,Python,Python 3.x,Pandas,在Dataframe/表中,我有这样的数据 +----+-------+--------+ | id | name1 | name2 | +----+-------+--------+ | 0 | John | | | 1 | | Nathan | | 2 | Andy | | +----+-------+--------+ +----+-------+--------+--------------+ | id | name1 | name2
+----+-------+--------+
| id | name1 | name2 |
+----+-------+--------+
| 0 | John | |
| 1 | | Nathan |
| 2 | Andy | |
+----+-------+--------+
+----+-------+--------+--------------+
| id | name1 | name2 | merged_names |
+----+-------+--------+--------------+
| 0 | John | | John |
| 1 | | Nathan | Nathan |
| 2 | Andy | | Andy |
+----+-------+--------+--------------+
我想将它们合并到另一列中,在该列中,nulls或empties会填充name列中的任意一个,类似这样
+----+-------+--------+
| id | name1 | name2 |
+----+-------+--------+
| 0 | John | |
| 1 | | Nathan |
| 2 | Andy | |
+----+-------+--------+
+----+-------+--------+--------------+
| id | name1 | name2 | merged_names |
+----+-------+--------+--------------+
| 0 | John | | John |
| 1 | | Nathan | Nathan |
| 2 | Andy | | Andy |
+----+-------+--------+--------------+
如何在pandas Dataframe中执行此操作如果空单元格实际上是空字符串,则可以执行以下操作:
df['merged_names'] = df1['name1'] + df2['name2']
如果空单元格为np.nan
,则可以通过以下方式使用replace
:
df['merged_names'] = df1['name1'].replace(np.nan, '') + df2['name2'].replace(np.nan, '')
您可以使用:
如果您的值是空字符串而不是NaN
,则可以首先通过以下方式转换为NaN
:
df = df.replace('', np.nan)
df['merged_names']=df[['name1','name2']].fillna('').sum(1)
可能有用,如果你能在答案中描述一下就好了