首页 > 解决方案 > 在 Pandas 数据框中从左到上移动单元格

问题描述

有一个shift()函数可以按索引或按列(左或右)移位。但是我需要将我的单元格向左移动,如果它已经是第一列,我只需要向左和向上移动单元格(不是整个索引行),因为它会覆盖我现有的值。

例如。

------------------------------------------------------
|Name| Age    | Sex  | Salary| Status | 5    | 6     |
|John| 32     | Male | NaN   | NaN    | NaN  | NaN   |
|4000| Single | NaN  | NaN   | NaN    | NaN  | NaN   |
|May | 20     | NaN  | NaN   | Female | 2000 | Single|
------------------------------------------------------

这是由于解析不佳而发生的,但由于它超出了我的控制范围,因此无法解决。所以在这个例子中,第二行应该向上移动到相应的列,最后一行应该将受影响的单元格向左移动,而不是整个行向左移动。这可能吗?我应该如何处理这个?

标签: pythonpandasdataframe

解决方案


此示例数据集的快速修复:

pd.DataFrame(df.stack().values.reshape(-1,5), columns=df.columns[:5])

输出:

   Name Age     Sex Salary  Status
0  John  32    Male   4000  Single
1   May  20  Female   2000  Single

推荐阅读