熊猫将多列合并/合并为1

时间:2020-04-02 20:17:49

标签: python-3.x pandas

我想在熊猫中将2列合并成1列,当我在Google上搜索时,我得到的唯一选择是:合并,连接,联接。这些都不能解决我在这里遇到的问题。

目标:

来自base_dataframe:

Name Mark_x Mark_y Mark_z
A    90     nan    nan
B    nan    85     nan
C    nan    nan    70
D    30     nan    nan

到期望的数据帧:

Name Mark
A    90
B    85
C    70
D    30

我所拥有的是上述数据框,只有Mark列中的1个将不为null(前提条件)。现在在Google搜索上停留了1个小时,不知道我应该研究什么功能将有助于解决此问题。如果您知道可能与此问题相关的任何功能,请告诉我,以便我可以进行调查,谢谢。

1 个答案:

答案 0 :(得分:0)

假设这三列中每行始终只有一个值,如您的示例,您可以使用df.sum(),默认情况下会跳过任何NaN

desired_dataframe = pd.DataFrame(base_dataframe['Name'])
desired_dataframe['Mark'] = base_dataframe.iloc[:, 1:4].sum(axis=1)

在每行可能有更多值的情况下,使用例如而是df.max(),其工作方式相同。

相关问题