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

Python科学计算之Pandas

在Pandas,一个条目等同于一行,所以我们可以通过len方法获取数据行数,即条目数。 ? 这将给你一个整数告诉你数据行数。在数据集中,33行。...注意到当我们提取了一列,Pandas将返回一个series,而不是一个dataframe是否还记得,你可以将dataframe视作series字典。...这一语句返回1990年代所有条目。 ? 索引 前几部分为我们展示了如何通过列操作来获得数据。实际上,Pandas同样标签化行操作。这些行标签可以是数字或是其他标签。...在返回series,这一行一列都是一个独立元素。 可能在你数据集里有年份列,或者年代列,并且你希望可以用这些年份或年代来索引某些行。这样,我们可以设置一个(或多个)新索引。 ?...接下来unstack操作可能起初一些困惑。它功能将某一列前置成为列标签。我们最好如下看看它实际效果。 ? 这个操作会将我们在上面小节创建dataframe转变成如下形式。

2.9K00

pandas | DataFrame排序与汇总方法

大家好,架构君,一个会写代码吟诗架构师。今天说一说pandas | DataFrame排序与汇总方法,希望能够帮助大家进步!!!...在上一篇文章当中我们主要介绍了DataFrame当中apply方法,如何在一个DataFrame一行或者一列进行广播运算,使得我们可以在很短时间内处理整份数据。...Series当中排序方法两个,一个sort_index,顾名思义根据Series索引对这些值进行排序。另一个sort_values,根据Series值来排序。...DataFrame当中同样类似的方法,我们一个一个来看。 首先是sum,我们可以使用sum来对DataFrame进行求和,如果不传任何参数,默认一行进行求和。...另一个个人觉得很好用方法descirbe,可以返回DataFrame当中整体信息。比如一列均值、样本数量、标准差、最小值、最大值等等。

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

pandas | DataFrame排序与汇总方法

在上一篇文章当中我们主要介绍了DataFrame当中apply方法,如何在一个DataFrame一行或者一列进行广播运算,使得我们可以在很短时间内处理整份数据。...Series当中排序方法两个,一个sort_index,顾名思义根据Series索引对这些值进行排序。另一个sort_values,根据Series值来排序。...我们可以发现我们随手输入一串数字当中,包含两个7,7Series当中最大数字,但是它们排名为什么6.5呢?...首先是sum,我们可以使用sum来对DataFrame进行求和,如果不传任何参数,默认一行进行求和。 ? 除了sum之外,另一个常用就是mean,可以针对一行或者一列求平均。 ?...另一个个人觉得很好用方法descirbe,可以返回DataFrame当中整体信息。比如一列均值、样本数量、标准差、最小值、最大值等等。

4.4K50

数据专家最常使用 10 大类 Pandas 函数 ⛵

这个函数使用注意点包括 header(是否表头以及哪一行表头), sep(分隔符),和 usecols(要使用列/字段子集)。read_excel:读取Excel格式文件时使用它。...以下函数很常用:duplicated: 识别DataFrame是否重复,可以指定使用哪些列来标识重复项。drop_duplicates:从 DataFrame 删除重复项。...isnull:检查 DataFrame 是否缺失。dropna: 对数据做删除处理。注意它有很重要参数how(如何确定观察是否被丢弃)和 thred(int类型,保留缺失值数量)。...图片 8.数据透视Dataframe 2 种常见数据:『宽』格式,指的是一行代表一条记录(样本),一列一个观测维度(特征)。...『长』格式,在这种格式,一个主题多行,一行可以代表某个时间点度量。我们会在这两种格式之间转换。melt:将宽表转换为长表。

3.5K21

浅谈NumPy和Pandas库(一)

Pandas数据经常包括在名为数据框架(data frame)结构,数据框架已经标记二维数据结构,可以让你根据需要选择不同类型列,类型字符串(string)、整数(int)、浮点型(float...比如一个数据结构由四个人姓名(name)、年龄(age)、BMI、是否健康(healthy?)构成(其中还含有非数字NaN条目)。你可以把数据框架看做Excel表格。 ?...首先,我们看一下如何创建数据框架: #Pandas创建数据框架(dataframe) from pandas import DataFrame, Series #首先创建一个名为dPython词典...在本例,我们重温一下之前numpy中提到求平均数。numpy.mean对每个自成一列向量求平均数,这本身就是一个新数据结构。...import numpy #numpy.mean对一列求平均值 df.apply(numpy.mean) # one 2.0 # two 2.5 # dtype: float64 本例

2.3K60

直观地解释和可视化每个复杂DataFrame操作

操作数据帧可能很快会成为一项复杂任务,因此在Pandas八种技术均提供了说明,可视化,代码和技巧来记住如何做。 ?...我们选择一个ID,一个维度和一个包含值列/列。包含值列将转换为两列:一列用于变量(值列名称),另一列用于值(变量包含数字)。 ?...记住:像蜡烛一样融化(Melt)就是将凝固复合物体变成几个更小单个元素(蜡滴)。融合二维DataFrame可以解压缩其固化结构并将其片段记录为列表各个条目。...诸如字符串或数字之类非列表项不受影响,空列表NaN值(您可以使用.dropna()清除它们 )。 ? 在DataFrame dfExplode列“ A ” 非常简单: ?...想象一下,一列都是高速公路上一条车道。为了合并,它们必须水平合并。 Join 通常,联接比合并更可取,因为它具有更简洁语法,并且在水平连接两个DataFrame时具有更大可能性。

13.3K20

数据科学 IPython 笔记本 7.13 向量化字符串操作

示例:食谱数据库 在清理凌乱真实数据过程,这些向量化字符串操作变得最有用。 在这里,将使用从 Web 上各种来源编译开放式食谱数据库,来说明这一点。...我们可以这样做一种方法,实际构造一个包含所有这些 JSON 条目的字符串表示,然后用pd.read_json加载整个东西: # 将整个文件读入 Python 数组 with open('recipeitems-latest.json...: recipes.ingredients.str.contains('[Cc]innamon').sum() # 10526 我们甚至可以看看,是否任何食谱将这种成分拼错为cinamon: recipes.ingredients.str.contains...虽然概念上很简单,但由于数据异质性,任务变得复杂:例如,从一行中提取干净成分列表并不容易。 所以我们用一些手段:我们先从一系列常见成分开始,然后仅仅搜索它们是否在每个配方成分列表。...DataFrame,指示该成分是否出现在列表: import re spice_df = pd.DataFrame(dict((spice, recipes.ingredients.str.contains

1.6K20

20个能够有效提高 Pandas数据分析效率常用函数,附带解释和例子

标签列名。对于行标签,如果我们不分配任何特定索引,pandas默认创建整数索引。因此,行标签从0开始向上整数。与iloc一起使用行位置也是从0开始整数。...我们三个不同城市,在不同日子进行测量。我们决定将这些日子表示为列行。还将有一列显示测量值。...如果axis参数设置为1,nunique将返回每行唯一值数目。 13. Lookup 'lookup'可以用于根据行、列标签在dataframe查找指定值。假设我们以下数据: ?...Memory_usage Memory_usage()返回列使用内存量(以字节为单位)。考虑下面的数据,其中一列一百万行。...Replace 顾名思义,它允许替换dataframe值。第一个参数要替换值,第二个参数新值。 df.replace('A', 'A_1') ? 我们也可以在同一个字典多次替换。

5.5K30

UCB Data100:数据科学原理和技巧:第一章到第五章

一列代表每个总统候选人一个特征信息。例如,名为“结果”列存储候选人是否赢得选举。 你在 Data 8 工作帮助你非常熟悉使用和解释以表格格式存储数据。...经过检查,我们“选举”DataFrame 182 行和 6 列(“年份”,“候选人”,“党派”,“普选票”,“结果”,“%”)。一行代表一条记录——在我们例子某一年总统候选人。...一列代表记录一个属性或特征。 2.2.2.1.2 使用列表和列名 我们现在将探讨如何使用我们自己数据创建“DataFrame”。 考虑以下例子。...这里,max聚合函数独立地应用于一列。...此外,近 200 个缺失值-大约占数据 27%! 最后,让我们检查最后一个时间特征,年份Yr。 让我们检查一下缺失和记录年份之间是否任何联系。

36420

特征提取之 DictVectorizer

特征提取计算机视觉和图像处理一个概念。它指的是使用计算机提取图像信息,决定每个图像是否属于一个图像特征。...检查版本 首先需要检查 scikit-learn 版本,版本是 0.21.3,如图所示。 ? 检查完版本之后就是讲解怎么使用 DictVectorizer 进行特征提取。...DataFrame 格式数据特征,毕竟没用过老版本这个类,但是敢确定新版本需要做一些变换)。...DataFrame 格式数据一个表格,表格一行对应着一条数据,多少行就有多少条数据,一列对应着一个特征,多少列就有多少个特征。...我们可以发现 X_train 最左边一列一列无序整数,这一列索引列,索引无序并且有大于 75 数,这说明了在 train_test_split 里面进行训练集测试集分离过程带着原来索引进行分离

1.8K10

pandas技巧4

=False) # 查看Series对象唯一值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame对象一列唯一值和计数 df.isnull().any...df.loc[0,:] # 返回第一行(索引为默认数字时,用法同df.iloc),但需要注意loc按索引,iloc参数只接受数字参数 df.ix[[:5],["col1","col2"]] #...() # 检查DataFrame对象空值,并返回一个Boolean数组 pd.notnull() # 检查DataFrame对象非空值,并返回一个Boolean数组 df.dropna() #...分组所有列均值,支持df.groupby(col1).col2.agg(['min','max']) data.apply(np.mean) # 对DataFrame一列应用函数np.mean...df.mean() # 返回所有列均值 df.corr() # 返回列与列之间相关系数 df.count() # 返回一列非空值个数 df.max() # 返回一列最大值 df.min

3.4K20

Pandas GroupBy 深度总结

object at 0x0000026083789DF0> 我们要注意,创建 GroupBy 对象成功与否,只检查我们是否通过了正确映射;在我们显式地对该对象使用某些方法或提取其某些属性之前,都不会真正执行拆分...-应用-组合链任何操作 为了简要检查生成 GroupBy 对象并检查拆分方式,我们可以从中提取组或索引属性。...这里需要注意,transformation 一定不能修改原始 DataFrame 任何值,也就是这些操作不能原地执行 转换 GroupBy 对象数据最常见 Pandas 方法 transform...链如何一步一步工作 如何创建 GroupBy 对象 如何简要检查 GroupBy 对象 GroupBy 对象属性 可应用于 GroupBy 对象操作 如何按组计算汇总统计量以及可用于此目的方法...如何一次将多个函数应用于 GroupBy 对象一列或多列 如何将不同聚合函数应用于 GroupBy 对象不同列 如何以及为什么要转换原始 DataFrame 如何过滤 GroupBy 对象组或每个组特定行

5.8K40

飞速搞定数据分析与处理-day5-pandas入门教程(数据读取)

背景 这个并不是书籍里章节,因为书籍 pandas 节奏太快了,基本都是涉及很多中高级操作,好容易把小伙伴给劝退。这里先出几期入门教程,然后再回到书籍里教程。...如果你一个很多行大型DataFrame,Pandas将只返回前5行,和最后5行 max_rows 返回行数在Pandas选项设置定义。...import pandas as pd print(pd.options.display.max_rows) 在系统,这个数字60,这意味着如果DataFrame包含超过60行,print(...int64 2 Maxpulse 169 non-null int64 3 Calories 164 non-null float64 空值 info()方法还告诉我们一列多少个非空值...这意味着在 "卡路里 "列5行没有任何数值,不管是什么原因。在分析数据时,空值或Null值可能不好,你应该考虑删除有空值行。

17410

Python自动化办公之Word批量转成自定义格式Excel

最终需要excel文档结构这样:每道题独立占1行,1列这道题一项内容,大概就是问题、选项A、选项B等等。 ?...(注意要在第一行给它加上列名,直接加了个colomn1,代表一列) 简单处理后txt文档结构类似这样: ? 2、读取到数据如何处理?...但是,它从txt读取出来格式全部内容都视为1列,而txt一段,在它这里就是一行(注意一段对应一行,而不是一行对应一行) 预览一下:结果显示800行,1列。...解决这个问题几个关键点: 1、excel表格行列结构,它一行数据来源于这个txt文档第几行?(也就是list里面的第几个元素) 所以我们只要把每道题在list索引找出来就行了。...此时就记录下它索引,并且把这个索引值存放到一个新列表index_list。 下面获取到index_list: ?

1.5K40

整理了 25 个 Pandas 实用技巧,拿走不谢!

很多种实现途径,最喜欢方式传一个字典给DataFrame constructor,其中字典keys为列名,values为列取值。 ?...按行从多个文件构建DataFrame 假设你数据集分化为多个文件,但是你需要将这些数据集读到一个DataFrame。 举例来说,一些关于股票小数聚集,每个数据集为单天CSV文件。...然后,你可以使用read_clipboard()函数将他们读取至DataFrame: ? 和read_csv()类似,read_clipboard()会自动检测一列正确数据类型: ?...你将会注意到有些值缺失。 为了找出一列中有多少值缺失,你可以使用isna()函数,然后再使用sum(): ?...类似地,你可以通过mean()和isna()函数找出一列缺失值百分比。 ? 如果你想要舍弃那些包含了缺失值列,你可以使用dropna()函数: ?

3.2K10

【精心解读】用pandas处理大数据——节省90%内存消耗小贴士

下图所示为pandas如何存储我们数据表前十二列: 可以注意到,这些数据块没有保持对列名引用,这是由于为了存储dataframe真实数据,这些数据块都经过了优化。...下面的代码,我们用Series.cat.codes属性来返回category类型用以表示每个值整型数字。 可以看到,每一个值都被赋值为一个整数,而且这一列在底层int8类型。...这一列没有任何缺失数据,但是如果有,category子类型会将缺失数据设为-1。 最后,我们来看看这一列在转换为category类型前后内存使用量。...下面我们写一个循环,对每一个object列进行迭代,检查其唯一值是否少于50%,如果,则转换成类别类型。...dtype参数接受一个以列名(string型)为键字典、以Numpy类型对象为值字典。 首先,我们将一列目标类型存储在以列名为键字典,开始前先删除日期列,因为它需要分开单独处理。

8.5K50

爱了!0.052s 打开 100GB 数据,这个开源库火爆了!

打开数据集会生成一个标准DataFrame并对其进行快速检查: 注意,单元执行时间太短了。这是因为显示Vaex DataFrame或列仅需要从磁盘读取前后5行数据。...一个很好方法使用describe方法对数据进行高级概述,其中显示了样本数、缺失值数和一列数据类型。如果列数据类型为数字,则还将显示平均值、标准偏差以及最小值和最大值。...目前,我们将以此为起点,根据行程距离消除极端离群值: 出行距离一列存在极端异常值,这也是研究出行时间和出租车平均速度动机。...从describe方法输出,我们可以看到在fare_amount,total_amount和tip_amount列中有一些疯狂异常值。对于初学者,任何这些列任何值都不应为负。...如果你对探索本文中用到数据集感兴趣,可以直接在 S3 配合 Vaex 使用它,请参阅完整 Jupyter notebook 了解如何实现。

76810

0.052秒打开100GB数据?这个Python开源库这样做数据分析

那么,如果我们要检查数据或与数据交互怎么办?打开数据集会生成一个标准DataFrame并对其进行快速检查: ? 注意,单元执行时间太短了。...无论如何,让我们从极端异常值或错误数据输入值开始清除此数据集。一个很好方法使用describe方法对数据进行高级概述,其中显示了样本数、缺失值数和一列数据类型。...出行距离一列存在极端异常值,这也是研究出行时间和出租车平均速度动机。这些功能在数据集中尚不可用,但计算起来很简单: ? 上面的代码块无需内存,无需花费时间即可执行!这是因为代码只会创建虚拟列。...从describe方法输出,我们可以看到在fare_amount,total_amount和tip_amount列中有一些疯狂异常值。对于初学者,任何这些列任何值都不应为负。...如果你对探索本文中用到数据集感兴趣,可以直接在 S3 配合 Vaex 使用它,请参阅完整 Jupyter notebook 了解如何实现。

1.2K20

实操 | 内存占用减少高达90%,还不用升级硬件?没错,这篇文章教你妙用Pandas轻松处理大规模数据

在这篇文章,我们将介绍 Pandas 内存使用情况,以及如何通过为数据框(dataframe)列(column)选择适当数据类型,将数据框内存占用量减少近 90%。...最原始数据 127 个独立 CSV 文件,不过我们已经使用 csvkit 合并了这些文件,并且在第一行一列添加了名字。...下面的图标展示了数字如何存储在 NumPy 数据类型,以及字符串如何使用 Python 内置类型存储。 你可能已经注意到,我们图表之前将对象类型描述成使用可变内存量。...我们将编写一个循环程序,遍历每个对象列,检查其唯一值数量是否小于 50%。如果,那么我们就将这一列转换为 category 类型。...首先,我们将最终类型、以及列名字 keys 存在一个字典。因为日期列需要单独对待,因此我们先要删除这一列

3.6K40

DataFrame和Series使用

DataFrame和SeriesPandas最基本两种数据结构 可以把DataFrame看作由Series对象组成字典,其中key列名,值Series Series和Python...# 查看dfdtypes属性,获取一列数据类型 df.dtypes df.info() Pandas与Python常用数据类型对照 加载筛选数据 df根据列名加载部分列数据:加载一列数据,通过df...df按行加载部分数据:先打印前5行数据 观察第一列 print(df.head()) 最左边一列行号,也就是DataFrame行索引 Pandas默认使用行号作为行索引。...,求平均,求每组数据条目数(频数)等 再将一组计算结果合并起来 可以使用DataFramegroupby方法完成分组/聚合计算 df.groupby(by='year')[['lifeExp','...取值相同数据放到一组 df.groupby(‘continent’)[字段] → seriesGroupby对象 从分号组Dataframe数据筛序出一列 df.groupby(‘continent

7110
领券