熊猫从列中删除空格以在列上创建

我有一些数据看起来像

pd.DataFrame([
    {'col1': 'x', 'col2': 'name_x', 'col3': '', 'col4': '', 'col5': '', 'col6': ''},
    {'col1':'', 'col2':'', 'col3': 'y', 'col4':'name_y', 'col5': '', 'col6':''},
    {'col1':'', 'col2':'', 'col3': 'yy', 'col4':'name_yy', 'col5': '', 'col6':''},
    {'col1':'', 'col2':'', 'col3': '', 'col4':'', 'col5': 'z', 'col6':'name_z'},
    {'col1':'xx', 'col2':'name_xx', 'col3': '', 'col4':'', 'col5': '', 'col6':''},
    {'col1':'', 'col2':'', 'col3': 'yyy', 'col4':'name_yyy', 'col5': '', 'col6':''}
])

   col1  col2   col3    col4    col5    col6
0   x   name_x              
1                y     name_y       
2                yy    name_yy      
3                                z  name_z
4   xx  name_xx             
5                yyy   name_yyy         

我需要将所有数据推送到最左边的列,即。col1col2

最终数据应如下所示:

    col1    col2
0   x   name_x
1   y   name_y
2   yy  name_yy
3   z   name_z
4   xx  name_xx
5   yyy name_yyy

回答

df = df.transform(lambda x: sorted(x, key=lambda k: k == ""), axis=1)
print(df)

印刷:

df = df.transform(lambda x: sorted(x, key=lambda k: k == ""), axis=1)
print(df)

如果你想要两列,那么你可以print(df[["col1", "col2"]])事后做。


以上是熊猫从列中删除空格以在列上创建的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>