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