Python 使用熊猫合并数据帧中的列

Python 使用熊猫合并数据帧中的列,python,pandas,Python,Pandas,我试图在一个数据帧中合并两个不同的列。 因此,如果有A列和B列,并且希望A保持默认值,除非它为空。如果为空,则希望使用B的值 pd.merge看起来只在合并数据帧时有效,而不在现有单个数据帧中合并列 | A | B | | 2 | 4 | | NaN | 3 | | 5 | NaN | | NaN | 6 | | 7 | 8 | 预期结果: |A| |2| |3| |5| |6| |7| Scott Boston

我试图在一个数据帧中合并两个不同的列。 因此,如果有A列和B列,并且希望A保持默认值,除非它为空。如果为空,则希望使用B的值

pd.merge看起来只在合并数据帧时有效,而不在现有单个数据帧中合并列

| A     | B    |

| 2     | 4    |
| NaN   | 3    | 
| 5     | NaN  |
| NaN   | 6    | 
| 7     | 8    |
预期结果:

|A|

|2|
|3|
|5|
|6|
|7|

Scott Boston对OP的评论值得称赞:

import pandas as pd

df = pd.DataFrame( 
    {
        'A': [2, None, 5, None, 7], 
        'B': [4, 3, None, 6, 8] 
    } 
)

df.head()
"""
     A    B
0  2.0  4.0
1  NaN  3.0
2  5.0  NaN
3  NaN  6.0
4  7.0  8.0
"""

df['A'] = df['A'].fillna(df['B'])

df.head()
"""
     A    B
0  2.0  4.0
1  3.0  3.0
2  5.0  NaN
3  6.0  6.0
4  7.0  8.0
"""

df['A'].fillnadf['B']?为这个问题添加一些数据和期望的结果。我想你在寻找我添加了一个数据表来说明我试图实现的目标。感谢您抽出时间回答!关于这个问题,它是有效的,但如果单元格的值是-,我该用什么呢?你可以按照df.loc[df['A']='-','A']=df.loc[df['A']='-','B']来做一些事情。简言之,无论在哪里,只要A='-',它都将替换为B列中的值。