You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何重构无空白单元格的DataFrame 不删除整行整列

实现方法

你需要的效果是将每列的非空值按原有顺序移动到列顶部,剩余位置留空,pandas没有对应内置函数,几行代码即可实现:

  1. 如果你数据中的空白是空白字符串而非NaN,先统一转成NaN格式:
import pandas as pd
import numpy as np

# 替换空字符串为NaN
df = df.replace('', np.nan)
  1. 对每列单独处理,取出非空值后重新对齐原DataFrame的行长度:
# 核心处理逻辑
df_processed = df.apply(lambda col: pd.Series(col.dropna().values), axis=0)

效果说明

上述代码会保留原DataFrame的行、列数量不变,仅将每列的非空值按原始出现顺序上浮到列的开头,空白单元格全部沉到每列的底部,完全匹配你需要的重构效果。

内容的提问来源于stack exchange,提问作者Always_stuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:57:00