pandas向左移动非空单元格
- 碰到个小问题, 因为需要更改excel 的行为。
处理最多的还是excel的事, 不过看起来是excel。实际上对pandas 的库的熟悉。读取,更改,应用等等,方法。
十分有用。
先说需求,本来的表格形式为:

需要变成:

网上找了篇链接,移动非空单元格的。
思路:
1 把所有零都变成null 值
2 套用文章中的函数
最后完美达成。
写习惯了。其实,这个很简单,不用分这么细。 不过编程思维,将模块分解,成一个小单元去组合。
尽量细分到了每个模块做什么事,合起来。
一个函数内部精密度高,可塑性强。但是可以到处复用。
算法明显就是如此。
低耦合,高内聚。
# _*_coding:utf-8 _*_
import pandas as pd
import numpy as np class baixi: # 初始化
def __init__(self):
self.pd = pd
self.deal_data = pd.read_excel(r'C:\Users\daojia\Desktop\学习\work\Sample.xlsx', sheet_name='CQL') # 转置过程,将null 值全部删除,重建。很值得学习
@staticmethod
def squeeze_nan(x):
original_columns = x.index.tolist() squeezed = x.dropna()
squeezed.index = [original_columns[n] for n in range(squeezed.count())] return squeezed.reindex(original_columns, fill_value=np.nan) # 重新获取数据
def get_lc_data(self):
# 获取数据
data = self.deal_data
data[data.__eq__(0)] = np.nan
# 调用函数左移数据
out_data = data.apply(self.squeeze_nan, axis=1)
# 保存数据
print(data)
out_data.to_excel(r'C:\Users\daojia\Desktop\学习\Sample123.xlsx') # return out_data if __name__ == '__main__':
baixi().get_lc_data()
a = 1
pandas向左移动非空单元格的更多相关文章
- EXCEL小技巧:如何统计非空单元格
http://club.excelhome.net/thread-1187271-1-1.html 下面教大家如果用函数统计非空单元格的数量 首先我们来介绍几个统计函数: 1.COUNT(value1 ...
- Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案
excel中新增行列时报错: 提示:在当前工作表的最后一行或列中,存在非空单元格,所以无法插入新行或新列.
- DEV中右键菜单如何只在非空单元格上显示?
问题: 1. 开发时,我的winform程序中有很多gridview,我希望右键菜单只在我点击非空的行时才显示,点击其他空白区域时不显示: 2. 有一个树状导航图,treelist 中的节点都有右键菜 ...
- Excel 如何统计非空非零单元格的个数
使用 Excel 统计非空非零单元格的个数: ——使用函数 :=COUNTIFS($B$2:$B$194440,"<>",$B$2:$B$194440,"&l ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- Qt tableWidget 空单元格 获取选中行行号
bool focus = tableWidget->isItemSelected(tableWidget->currentItem()); // 判断是否选中一行 Int row1 = t ...
- excel 去掉 空单元格
Excel 2003 选中这一列,定位(CTRL+G)--定位条件--空值--确定--右键--删除. 1. 然后进行全选已输入的内容,可以使用鼠标拖动已输入的内容,也可以使用快捷键全选内容,按住ctr ...
- poi 处理空单元格
http://poi.apache.org/spreadsheet/quick-guide.html 用google翻译 找到
- excel 用VBA将所有单元格内容全部转换为文本
Sub 将所有列全部转换为文本() t=timer 'Cells(Rows.Count, 1).End(xlUp).Row 获取第一列最后一个非空单元格的行号 s = Cells(, Columns. ...
随机推荐
- [常用类]时间内Date、SimpleDateFormat、Calendar类
Date类的概述是util包下的,不能导入sql包的.* 类 Date 表示特定的瞬间,精确到毫秒. *构造方法 * public Date() * public Date(long date) 如果 ...
- C# 委托和事件 实现窗体间的通信
例子 : 点击form1上的按钮打开form2窗口,在form2窗体中的文本框中输入一个值后,在点击form2窗体中按钮,在form2中的文本框中输入的值也会在form1中的文本框中出现. form1 ...
- 更新SVN时提示要清理,但清理失败,乱码得解决方案
问题情况如图: 解决办法: 依托工具——sqlite3, 首先在项目根目录下找到.svn文件夹,将其中的wc.db复制到工具所在路径. 如果找不到.svn,需要把隐藏文件选项勾去. 路径如图: 此时, ...
- Web学习之CSS总结
银角大王武Sir的博客地址 1.positoin属性固定元素的定位类型 说明:这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而无论该元素是什么类型.相 ...
- ASE Beta Sprint - backend scrum 4
本次scrum于2019.12.10在sky garden进行,持续10分钟. 参与人: Xin Kang, Zhikai Chen, Lihao Ran, Hao Wang 请假: Ning Jia ...
- 【记录】@Transactional
参考链接:https://blog.csdn.net/nextyu/article/details/78669997 参考链接:https://www.xuebuyuan.com/3222458.ht ...
- windows 10预览版升级win10 7月29 10240.16384
一路追着win10 从预览版到今天10240.16384 昨晚是中国区第一批下载win10的,不过不是第一批安装的. 早上才安装成功. win10预览版更新 7月29 1024016384 使用esd ...
- 常用Linux Shell命令组合
序号 任务 命令组合 1 删除0字节文件 find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete 2 查看进程,按 ...
- Linux下NFS服务器的搭建与配置(转)
一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...
- openprocess打不开 如何读取exe路径描述
openprocess打不开 如何读取exe路径描述 openprocess打不开 如何读取exe路径描述 https://bbs.pediy.com/thread-210652.htm https: ...