• 碰到个小问题, 因为需要更改excel 的行为。

    处理最多的还是excel的事, 不过看起来是excel。实际上对pandas 的库的熟悉。读取,更改,应用等等,方法。

    十分有用。

先说需求,本来的表格形式为:

需要变成:

网上找了篇链接,移动非空单元格的。

https://stackoom.com/question/2AWpZ/%E5%9C%A8pandas-DataFrame%E4%B8%AD%E5%B0%86%E9%9D%9E%E7%A9%BA%E5%8D%95%E5%85%83%E6%A0%BC%E7%A7%BB%E5%88%B0%E5%B7%A6%E4%BE%A7

思路:

   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向左移动非空单元格的更多相关文章

  1. EXCEL小技巧:如何统计非空单元格

    http://club.excelhome.net/thread-1187271-1-1.html 下面教大家如果用函数统计非空单元格的数量 首先我们来介绍几个统计函数: 1.COUNT(value1 ...

  2. Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案

    excel中新增行列时报错: 提示:在当前工作表的最后一行或列中,存在非空单元格,所以无法插入新行或新列.

  3. DEV中右键菜单如何只在非空单元格上显示?

    问题: 1. 开发时,我的winform程序中有很多gridview,我希望右键菜单只在我点击非空的行时才显示,点击其他空白区域时不显示: 2. 有一个树状导航图,treelist 中的节点都有右键菜 ...

  4. Excel 如何统计非空非零单元格的个数

    使用 Excel 统计非空非零单元格的个数: ——使用函数 :=COUNTIFS($B$2:$B$194440,"<>",$B$2:$B$194440,"&l ...

  5. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  6. Qt tableWidget 空单元格 获取选中行行号

    bool focus = tableWidget->isItemSelected(tableWidget->currentItem()); // 判断是否选中一行 Int row1 = t ...

  7. excel 去掉 空单元格

    Excel 2003 选中这一列,定位(CTRL+G)--定位条件--空值--确定--右键--删除. 1. 然后进行全选已输入的内容,可以使用鼠标拖动已输入的内容,也可以使用快捷键全选内容,按住ctr ...

  8. poi 处理空单元格

    http://poi.apache.org/spreadsheet/quick-guide.html 用google翻译 找到

  9. excel 用VBA将所有单元格内容全部转换为文本

    Sub 将所有列全部转换为文本() t=timer 'Cells(Rows.Count, 1).End(xlUp).Row 获取第一列最后一个非空单元格的行号 s = Cells(, Columns. ...

随机推荐

  1. Java学习day2关键字

    java的基本语法(1) 一.关键字 定义:被Java语言赋予特殊含义,用做专门用途的字符串 特点:关键字中的所有字母都为小写 二.标识符 定义:java对各种变量.方法和类等要素命名时所使用的的字符 ...

  2. 手写ORM持久层框架(转)

    工程结构: 本文测试的数据库为: 其中student的表结构为: 表数据: 配置文件 DB2.properties driver=com.mysql.jdbc.Driver url=jdbc\:mys ...

  3. 什么是python??

    python 是一门非常简单易学好用,同时功能强大的编程语言,具有丰富和强大的库,开发效率特别高.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起. pyth ...

  4. EOJ Monthly 2019.2 E. 中位数 (二分+dfs)

    题目传送门 题意: 在一个n个点,m条边的有向无环图中,求出所有从1到n 的路径的中位数的最大值 一条路径的中位数指的是:一条路径有 n 个点, 将这 n 个点的权值从小到大排序后,排在位置 ⌊n2⌋ ...

  5. char 指针如何判断字符串需要输出长度

    先上代码: #include <stdio.h> #include <string.h> ] = "; int func1(const char *ip) { pri ...

  6. 性能分析之profiling及火焰图

    profiling 是一项非常重要的,但又对很多程序员陌生的技术,它尤其对性能调优有显著帮助.本文以Brendan对perf的介绍稍加引入[底层涉及了太多细节,目前仅关心如何用它对服务器应用进行use ...

  7. zTree根节点默认打开

    1.在生成tree的json数据中,直接给出:open:true的属性; 2.treeObj.expandAll(true); 3.var zTree = $.fn.zTree.getZTreeObj ...

  8. vue.js(15)--vue的生命周期

    生命周期钩子 生命周期钩子=生命周期函数=生命周期事件 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等 ...

  9. 在虚拟机Linux中安装VMTools遇到的问题-小结

    总结: 遇到的问题:No support for locale: zh_CN.utf8 可能的解决方法:1.sudo dpkg-reconfigure locale (重新配置?) 2.上一步失败,提 ...

  10. leetcode 实现-168.Excel表列名称

    168.Excel表列名称 描述 给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如, 1 -> A 2 -> B 3 -> C … 26 -> Z 27 -&g ...