首页 > 解决方案 > 如何使用 pandas 将层次列合并为 1 列?

问题描述

我有一个如下所示的 excel 表。

在此处输入图像描述

我想使用 pandas 将所有这些分层列合并为 1 列,如下所示

在此处输入图像描述

有没有办法像这样合并,如果是,请告诉我如何?

标签: pythonpandas

解决方案


您可以将df.bfillaxis = 1然后用于iloc提取第一列

>>> import pandas as pd
>>> df = pd.DataFrame([[1, None, None, None], [None, 2, None, None], [None, None, 3, None], [None, None, None, 4]])
>>> df
     0    1    2    3
0  1.0  NaN  NaN  NaN
1  NaN  2.0  NaN  NaN
2  NaN  NaN  3.0  NaN
3  NaN  NaN  NaN  4.0
>>> df = df.bfill(axis=1).iloc[:, 0]
>>> df
0    1.0
1    2.0
2    3.0
3    4.0
Name: 0, dtype: float64

推荐阅读