python - 在 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|
------------------------------------------------------
这是由于解析不佳而发生的,但由于它超出了我的控制范围,因此无法解决。所以在这个例子中,第二行应该向上移动到相应的列,最后一行应该将受影响的单元格向左移动,而不是整个行向左移动。这可能吗?我应该如何处理这个?
解决方案
此示例数据集的快速修复:
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
推荐阅读
- oracle - Oracle 一直显示“ORA-00907:缺少右括号”我做错了什么?
- python - 在自定义 IDE 中找不到 Python 导入 Camelot 模块
- angular - 页面刷新后如何保持在同一个角度页面?
- vba - 需要帮助实现对象构造函数
- c# - 在 Visual Studio 中创建新的 ASP.NET Web 应用程序时,所有这些模板是什么
- jquery - Css 输入错误样式未在 Edge 浏览器中正确显示
- ruby - 阻止 ActiveSupport::TaggedLogging 干扰结构化日志
- swift - 为什么我们在 Swift 中使用 self
- javascript - 如何在 Material ui 表单输入字段中添加验证
- replace - 使用 CoreLocation 获取城市信息