首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python替代Excel Vba系列(三):pandas处理不规范数据

如下图: 其中表格中第3行是班级。诸如"一1",表示是一年级1班,最多8个年级。 表格中1至3列,分别表示"星期"、"上下午"、"第几节课"。 前2列有大量合并单元格,并且数据量不一致。...---- 这是典型报表输出格式,其中有合并单元格,内容把科目人名回到一起去。由于案例原有的需求比较繁琐,本文核心是处理数据,因此简化了需求。...此外 pandas 中有各种内置填充方式。 ffill 表示用上一个有效填充。 合并单元格很多时候就是第一个有,其他为空,ffill 填充方式刚好适合这样情况。...---- 现在数据美如画了。 ---- 重塑 要理解 pandas重塑,先要了解 DataFrame 构成。...如下是一个 DataFrame 组成部分: 红框中是 DataFrame 部分(values) 上方深蓝色框中是 DataFrame 索引(columns),注意,为什么方框不是一行

5K30

Pandas与GUI界面的超强结合,爆赞!

,有位粉丝提到了一个牛逼库,它巧妙Pandas与GUI界面结合起来,使得我们可以借助GUI界面来分析DATaFrame数据框。 基于此,我觉得有必要写一篇文章,再为大家做一个学习分享。...image.png pandasgui6大特征 pandasgui一共有如下6大特征: Ⅰ 查看数据系列(支持多索引); Ⅱ 统计汇总; Ⅲ 过滤; Ⅳ 交互式绘图; Ⅴ 重塑功能; Ⅵ 支持csv...查看数据系列 运行下方代码,我们可以清晰看到数据shape,行列索引名。...统计汇总 仔细观察下图,pandasgui会自动按列统计数据类型、行数、非重复、均值、方差、标准差 、最小、最大。 image.png 3....重塑功能 pandasgui还支持数据重塑,像数据透视表pivot、纵向拼接concat、横向拼接merge、宽表转换为长表melt等函数。 image.png 6.

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

df.sort_values("col1", inplace=True) 数据输入输出 1. 利用构造一个数据框DataFrame 在Excel电子表格中,可以直接输入到单元格中。...我们可以用多种不同方式构建一个DataFrame,但对于少量,通常将其指定为 Python 字典会很方便,其中键是列名,数据。...默认情况下,pandas 会截断大型 DataFrame 输出以显示第一行最后一行。...过滤 在 Excel 中,过滤是通过图形菜单完成。 可以通过多种方式过滤数据框,其中最直观是使用布尔索引。...数据透视表 电子表格中数据透视表可以通过重塑数据透视表在 Pandas 中复制。再次使用提示数据集,让我们根据聚会规模和服务器性别找到平均小费。

19.5K20

Pandas 秘籍:6~11

六、索引对齐 在本章中,我们将介绍以下主题: 检查索引对象 生成笛卡尔积 索引爆炸 用不相等索引填充值 追加来自不同数据列 突出显示一列最大 用方法链复制idxmax 寻找最常见最大 介绍...16 个都是至少其中一列第一个最大出现次数索引。...条纹一行最后一行索引存储为变量。 然后,这些索引用于选择条纹结束月份日期。 我们使用数据返回结果。 我们标记并命名索引以使最终结果更清晰。...原始一行数据成为结果序列中前三个。 在步骤 2 中重置索引后,pandas 将我们数据列默认设置为level_0,level_10。...前面的数据一个问题是无法识别一行年份。concat函数允许使用keys参数标记每个结果数据。 该标签将显示在级联框架最外层索引级别中,并强制创建多重索引

33.8K10

NumPy Pandas 数据分析实用指南:1~6 全

我们可以使用包含与我们希望选择ndarray索引对应整数ndarray对象或布尔ndarray对象来切片ndarray对象,其中值true表示切片中应包含一个单元格。...因此,这里有一个 CSV 文件iris.csv,其中包含鸢尾花数据集。 现在,如果我们希望加载该数据,则需要考虑以下事实:一行数据不一定都是同一类型。...此数据一行都是此一维 NumPy 数组中新条目。...我们可以将 pandas 数据视为将序列组合在一起以形成表格对象,其中列为序列。 我们可以通过多种方式创建数据,我们将在此处进行演示。 我们可以给数据一个索引。...dict可用于更高级替换方案。dict可以对应于数据列;例如, 可以将其视为告诉如何填充一列中缺失信息。

5.3K30

Pandas 学习手册中文第二版:1~5

建模 建模重点是第 3 章和“使用 Pandas 序列表示单变量数据”,第 4 章“用数据表示表格多元数据”,第 11 章“组合,关联重塑数据”,第 13 章“时间序列建模”,以及专门针对金融第...第一个是索引,第二个是Series中数据。 输出一行代表索引标签(在第一列中),然后代表与该标签关联。...例如,以下内容返回温度差平均值: Pandas 数据 Pandas Series只能与每个索引标签关联一个。 要使每个索引标签具有多个,我们可以使用一个数据。...代替单个序列,数据一行可以具有多个,每个都表示为一列。 然后,数据一行都可以对观察对象多个相关属性进行建模,并且一列都可以表示不同类型数据。...数据一列都是 Pandas Series,并且数据可以视为一种数据形式,例如电子表格或数据库表。

8.1K10

数据导入与预处理-第6章-03数据规约

简单随机采样:简单随机采样又分为无放回简单随机抽样有放回简单随机抽样,都是从原有数据集中若干个元组中抽取部分样本。...pandas中提供了一些实现数据规约操作,包括重塑分层索引(6.3.2小节)降采样(6.3.3小节),其中重塑分层索引是一种基于维度规约手段操作,降采样是一种基于数量规约手段操作,这些操作都会在后面的小节展开介绍...3.2 重塑分层索引(6.3.2 ) 3.2.1 重塑分层索引介绍 重塑分层索引pandas中简单维度规约操作,该操作主要会将DataFrame类对象索引转换为行索引,生成一个具有分层索引结果对象...3.2.2 stackunstack用法 pandas中可以使用stack()方法实现重塑分层索引操作。...dropna:表示是否删除结果对象中存在缺失一行数据,默认为True。 同时还有一个stack逆操作,unstack。

1.4K20

Python入门之数据处理——12种有用Pandas技巧

在利用某些函数传递一个数据一行或列之后,Apply函数返回相应。该函数可以是系统自带,也可以是用户定义。举个例子,它可以用来找到任一行或者列缺失。 ? ?...# 5–多索引 如果你注意到#3输出,它有一个奇怪特性。每一个索引都是由3个组合构成。这就是所谓索引。它有助于快速执行运算。 从# 3例子继续开始,我们有每个组均值,但还没有被填补。...# 9–绘图(箱线图柱状图) 很多人可能没意识到,箱线图柱状图可以直接在Pandas中绘制,不必另外调用matplotlib。这只需要一行命令。...解决这些问题一个好方法是创建一个包括列名类型CSV文件。这样,我们就可以定义一个函数来读取文件,并指定一列数据类型。...加载这个文件后,我们可以在一行上进行迭代,以列类型指派数据类型给定义在“type(特征)”列变量名。 ? ? 现在信用记录列被修改为“object”类型,这在Pandas中表示名义变量。

4.9K50

精品课 - Python 数据分析

教课理念 有个人可能会问 NumPy-Pandas-SciPy 不都是免费资源吗,为什么还要花钱来上课?没错,我也是参考了大量书籍、优质博客付费课程中汲取众多精华,才打磨出来前七节课。...NumPy Pandas数据结构 SciPy 是基于 NumPy 添加功能。 HOW:怎么去学三者?...对于数据结构,无非从“创建-存载-获取-操作”这条主干线去学习,当然面向具体 NumPy 数组 Pandas 数据时,主干线上会加东西。...Pandas WHY 下图左边「二维 NumPy 数组」 仅仅储存了一组数值 (具体代表什么意思却不知道),而右边数据 DataFrame」一看就知道这是平安银行茅台从 2018-1-3 到...DataFrame 数据可以看成是 数据 = 二维数组 + 行索引 + 列索引Pandas 里出戏就是行索引索引,它们 可基于位置 (at, loc),可基于标签 (iat

3.3K40

一文讲述Pandas数据读取、数据获取、数据拼接、数据写出!

为了使用方便,习惯性给这个库起一个别名pd,本书中只要是见到pd,指都是Pandas。 2....这里我一共提供了5种需要掌握数据获取方式,分别是 “访问一列或多列” ,“访问一行或多行” ,“访问单元格中某个” ,“访问多行多列” 。...① 什么是“位置索引标签索引 在讲述如何取数之前,我们首先需要理解“位置索引“标签索引”这两个概念。 每个表索引就是一个“标签索引”,而标识一行位置数字就是 “位置索引”,如图所示。...,"地区2","地区4"]] ④ 访问单元格中某个 “访问单元格中某个”,也有很多种方式,既可以使用“位置索引”,也可以使用“标签索引”。...在Pandas库中,将数据导出为xlsx格式,使用是DataFrame对象to_excle()方法,其中这里面有4个常用参数,详情如下。

5.4K30

对比Excel,一文掌握Pandas表格条件格式(可视化)

subset用于指定操作列或行 axis用于指定行、列或全部,默认是列方向 color用于指定数据条颜色 width用于指定数据条长度,默认是100,区间[0, 100] vminvmax用于指定与数据条最小最大对应单元格最小最大...数组,其中每个元素都是一个带有 CSS 属性字符串-对。...比如,我们定义一个函数,如果金牌数<银牌数,则高亮金牌数这一列对应 比如,我们还可以定义函数,如果金牌数<银牌数,则这一行数据都高亮 又或者,我们可以根据不同比值对每行进行不同高亮 关于以上函数写法...其他 还有一些小操作,比如添加标题、隐藏索引、隐藏指定列等等 添加标题 隐藏索引 隐藏指定列 设置属性 如果一些单元格属性单元格无关,我们可以通过df.style.set_properties...-->推荐阅读<-- 一行代码简单搞定matplotlib柱状图显示数据标签 2021-08-02 『数据可视化』一文掌握Pandas可视化图表 2021-07-31 北上广深哪个城市购物中心最多

5K20

Python写入Excel文件-多种实现方式(测试成功,附代码)

pandas是专门为处理表格混杂数据设计,而NumPy更适合处理统一数值数组数据pandas有两个主要数据结构:SeriesDataFrame。...Series Series是一种类似于一维数组对象,它由一组数据(各种NumPy数据类型)以及一组与之相关数据标签(即索引)组成,即indexvalues两部分,可以通过索引方式选取Series...DataFrame DataFrame是一个表格型数据类型,类型可以不同,是最常用pandas对象。...## 相反,拆分单元格后将这个大单元格返回到原来左上角位置。...如果这些要合并单元格都有数据,只会保留左上角数据,其他则丢弃。换句话说若合并前不是在左上角写入数据,合并后单元格中不会有数据。 以下是拆分单元格代码。拆分后,回到A1位置。

3.7K10

Python筛选、删除Excel不在指定范围内数据

其中,Excel表格文件具有大量数据一列表示某一种属性,一行表示某一个样本;我们需要做,就是对于其中部分属性加以数据筛选——例如,我们希望对上图中第一列数据进行筛选,将其中大于2或小于-1...部分选出来,并将每一个所选出单元格对应行直接删除;同时,我们还希望对其他属性同样加以筛选,不同属性筛选条件也各不相同,但都是需要将不符合条件单元格所在整行都删除。...: 导入必要库:导入了pandas库,用于数据处理操作。...例如,其中一行df["inf"] >= -0.2 df["inf"] = -...1 df["NDVI"] <= 1则表示筛选出"NDVI"列在-1到1之间数据,以此类推。

36710

Pandas 秘籍:1~5

默认范围索引不是很有帮助。 由于一行仅标识一部电影数据,因此使用电影标题作为标签是有意义。...Pandas 定义了内置len函数以返回行数。 步骤 2 步骤 3 中方法将一列汇总为一个数字。 现在,每个列名称都是序列中索引标签,其汇总结果为相应。...我们可以对一行所有求和。...drop_duplicates方法默认行为是保留每个唯一行第一次出现,因为一行都是唯一,所以不会删除任何行。 但是,subset参数将其更改为仅考虑为其提供列(或列列表)。...正是这个索引Pandas 数据结构与 NumPy n 维数组分开。 索引数据一行一列提供了有意义标签,而 Pandas 用户可以通过使用这些标签来选择数据

37.2K10

Pandas 数据分析技巧与诀窍

Pandas是一个建立在NumPy之上开源Python库。Pandas可能是Python中最流行数据分析库。它允许你做快速分析,数据清洗准备。...它将分为以下几点: 1、在Pandas数据流中生成数据。 2、数据数据检索/操作。...2 数据操作 在本节中,我将展示一些关于Pandas数据常见问题提示。 注意:有些方法不直接修改数据,而是返回所需数据。...在不知道索引情况下检索数据: 通常使用大量数据,几乎不可能知道一行索引。这个方法可以帮你完成任务。因此,在因此,在“数据数据框中,我们正在搜索user_id等于1一行索引。...当然,如果愿意的话,您可以让它们保持原样,但是如果您想添加值来代替空,您必须首先声明哪些将被放入哪些属性中(对于其空)。 所以这里我们有两列,分别称为“标签”“难度”。

11.4K40

用过Excel,就会获取pandas数据框架中、行

在Excel中,我们可以看到行、列单元格,可以使用“=”号或在公式中引用这些。...语法如下: df.loc[行,列] 其中,列是可选,如果留空,我们可以得到整行。由于Python使用基于0索引,因此df.loc[0]返回数据框架一行。...要获取前三行,可以执行以下操作: 图8 使用pandas获取单元格 要获取单个单元格,我们需要使用行交集。...图9 要获得第2行第4行,以及其中用户姓名、性别年龄列,可以将行列作为两个列表传递,如下图所示。 图10 记住,df[['用户姓名','年龄','性别']]返回一个只有三列数据框架。...接着,.loc[[1,3]]返回该数据框架第1行第4行。 .loc[]方法 正如前面所述,.loc语法是df.loc[行,列],需要提醒行(索引可能是什么?

18.9K60

在Python机器学习中如何索引、切片重塑NumPy数组

教程概述 本教程分为4个部分; 他们是: 从列表到数组 数组索引 数组切片 数组重塑 1.从列表到数组 一般来说,我建议使用Pandas或NumPy函数从文件加载数据。...这是一个数据表,其中一行代表一个新发现,一列代表一个新特征。 也许你通过使用自定义代码生成或加载数据,现在你有了二维列表。每个列表表示一个新发现。...55 11 二维索引 索引二维数据索引一维数据类似,区别在于用逗号分隔每个维度索引。 data[0,0] 这与基于C语言不同,在这些语言中一维使用单独括号运算符。...我们可以这样做,将最后一列前所有行列分段,然后单独索引最后一列。 对于输入要素,在行索引中我们可以通过指定':'来选择最后一行所有行列,并且在列索引中指定-1。...分割一整行,其中一部分用于训练模型,剩下部分用于评估训练模型能力。 这包括在第二维索引中指定':'来切分所有的列。从开始到分割点所有行构成训练数据集。

19.1K90

python数据分析——数据选择运算

此外,Pandas库也提供了丰富数据处理运算功能,如数据合并、数据转换、数据重塑等,使得数据运算更加灵活多样。 除了基本数值运算外,数据分析中还经常涉及到统计运算机器学习算法应用。...,选择第一行第二列数据元素并输出。...axis表示选择哪一个方向堆叠,0为纵向(默认),1为横向 【例】实现将特定键与被切碎数据一部分相关联。...: 四、数据运算 pandas中具有大量数据计算函数,比如求计数、求和、求平均值、求最大、最小、中位数、众数、方差、标准差等。...非空计数 【例】对于存储在该Python文件同目录下某电商平台销售数据product_sales.csv,形式如下所示,请利用Python对数据读取,并计算数据列非空个数情况。

11410

Python进阶之Pandas入门(四) 数据清理

引言 Pandas数据分析中一个至关重要库,它是大多数据项目的支柱。如果你想从事数据分析相关职业,那么你要做第一件事情就是学习Pandas。...通过这一课,您将会: 1、学会清理列索引; 2、学会处理缺失数据。 清理列索引 很多时候,数据集将具有包含符号、大小写单词、空格拼写冗长列名。...处理空有两种选择: 去掉带有空行或列 用非空替换空,这种技术称为imputation 让我们计算数据一列总数。...注意isnull()返回一个DataFrame,其中每个单元格是真还是假取决于该单元格null状态。...可能会有这样情况,删除一行会从数据集中删除太大数据块,所以我们可以用另一个来代替这个空,通常是该列平均值或中值。 让我们看看在revenue_millions列中输入缺失

1.8K60

数据分析从业者必看!10 个加速 python 数据分析简易小技巧

所以,下面是我最喜欢一些技巧,我以本文形式一起使用编译它们。其中,有些可能是相当有名,有些可能是新,但我相信下次您从事数据分析项目时,它们会非常有用。...这是对 pandas 数据进行探索性数据分析一种简单快速方法。pandas df.describe() df.info()函数通常用作 EDA 过程第一步。...但是,它只提供了非常基本数据概述,对于大型数据集没有太大帮助。另一方面,pandas 分析函数使用 df.profile_report()扩展 pandas 数据,以便快速进行数据分析。...它用一行代码显示了大量信息,在交互式 HTML 报告中也显示了这些信息。 对于给定数据集,pandas 分析包计算以下统计信息: ?...2.第二步,为 pandas plots 带来交互性 pandas 有一个内置.plot()函数作为数据一部分。然而,用这个函数呈现可视化并不是交互式,这使得它不那么吸引人。

1.9K30
领券