python - 重建没有空单元格的 DataFrame
问题描述
我正在尝试在没有空单元格的情况下在 python 中重建 DataFrame。我看起来像这样:
我尝试过使用 fillna() 和 notnull() 但它们都删除了空行或空列。是否有重建此功能或仅删除空单元格的功能?
谢谢
解决方案
我将在逐行迭代过程中执行此操作。每行只需将其内容“浮动”到尽可能左的位置,将所有空值推到右侧。为此,我编写了一个实用方法:
def float_left(row):
vals = row.values.copy()
floated = []
for i in range(len(vals)):
if not np.isnan(vals[i]):
floated.append(vals[i])
while len(floated) < len(vals):
floated.append(np.nan)
row = floated.copy()
return row
现在我可以重复将此方法应用于表格的每一行,我使用pandas
内置apply
方法:
df = df.apply(float_left, axis=1)
这样做的结果应该是所有条目都按照您的意愿向左浮动。如果没有,请告诉我!
推荐阅读
- javascript - 如何在 D3 中查找过滤子集中的项目数
- android - 在活动中创建片段实例并重用它是不好的编码习惯吗?
- javascript - ReactJS:来自 Express 的数据显示为数字而不是 JSON
- c++ - 标准差公式
- python - 安装 Tensorflow 时遇到问题 - 为 wrapt 构建轮子(setup.py)...错误
- python - django-admin.py startproject mysite 不工作
- intellij-idea - IdeaVim:从命令更改为插入模式并返回等时,有没有办法更改背景颜色?例如每种模式都有自己的背景颜色
- java - 由于只读消息和 Mac 上的灰色编辑器,我无法在 NetBeans 中编辑文件
- swift - 如何在 SwiftUI 中删除主要内容视图和标签栏之间的间距?
- graphql - NestJS/graphql - 拦截 Apollo HTTP 错误