我有一个非常简单的熊猫问题,涉及合并两个系列。我在数据框中有两个系列,它们与此相似:
Column1 Column2
0 Abc NaN
1 NaN Abc
2 Abc NaN
3 NaN Abc
4 NaN Abc
答案可能最终会是一个非常简单的.merge()或.concat()命令,但是我试图得到这样的结果:
Column1
0 Abc
1 Abc
2 Abc
3 Abc
4 Abc
这个想法是,对于每一行,在Column1,Column2中都有一个数据字符串,但从没有。我花了大约10分钟的时间在StackOverflow以及Google上寻找答案,但是找不到类似的问题完全适用于我想做的事情。
我意识到,这个问题很大一部分是由于我对Pandas必须将系列和数据框粘贴在一起的三个功能的不了解。很感谢任何形式的帮助。谢谢!
答案 0 :(得分:1)
您可以只使用pd.Series.fillna
:
df['Column1'] = df['Column1'].fillna(df['Column2'])
此处合并或concat不适用;它们主要用于组合基于标签的数据框或序列。
将groupby
与first
一起使用
df.groupby(df.columns.str[:-1],axis=1).first()
Out[294]:
Column
0 Abc
1 Abc
2 Abc
3 Abc
4 Abc
或:
`ndf = pd.DataFrame({'Column1':df.fillna('').sum(1)})`