Python 使用另一行值更新列

Python 使用另一行值更新列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个数百万行的数据帧。 作为我的数据帧示例: Col0, Col1, Col2, Col3 Val0, Val1, Nan, Nan Val0, Nan, Val3, Nan Val0, Nan, Nan, Val5 我期望的输出是: Col0, Col1, Col2, Col3 Val0, Val1, Val3, Val5 我为期望的输出发出迭代请求,但这需要几个小时 关于我不清楚这样做的好处是什么,除非您的df只是一个列之间没有关联的列表,但这里有一个解决方案: 对于此df: Co

我有一个数百万行的数据帧。 作为我的数据帧示例:

Col0, Col1, Col2, Col3
Val0, Val1, Nan, Nan
Val0, Nan, Val3, Nan
Val0, Nan, Nan, Val5
我期望的输出是:

Col0, Col1, Col2, Col3
Val0, Val1, Val3, Val5
我为期望的输出发出迭代请求,但这需要几个小时


关于

我不清楚这样做的好处是什么,除非您的df只是一个列之间没有关联的列表,但这里有一个解决方案:

对于此df:

 Col0  Col1  Col2  Col3
0     3     5   Nan   Nan
1     3   Nan    12   Nan
2     3   Nan   Nan    17

这样做

pd.concat([testcol[col].sort_values().reset_index(drop=True) for col in testcol], axis=1, ignore_index=True)

   0     1     2     3
0  3     5    12    17
1  3   Nan   Nan   Nan
2  3   Nan   Nan   Nan

如果除第一行外,您全部删除,这就是答案。尽管使用数据帧来实现这一点毫无意义,正如您正确指出的,是的。我想南排的下降可以留给询问者,因为它不需要任何努力。