Python 使用熊猫合并数据帧中的列
我试图在一个数据帧中合并两个不同的列。 因此,如果有A列和B列,并且希望A保持默认值,除非它为空。如果为空,则希望使用B的值 pd.merge看起来只在合并数据帧时有效,而不在现有单个数据帧中合并列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 |
| 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列中的值。