我想在熊猫中将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个小时,不知道我应该研究什么功能将有助于解决此问题。如果您知道可能与此问题相关的任何功能,请告诉我,以便我可以进行调查,谢谢。
答案 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()
,其工作方式相同。