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

没错,这篇文章教你妙用Pandas轻松处理大规模数据

在这篇文章,我们将介绍 Pandas 内存使用情况,以及如何通过为数据(dataframe)(column)选择适当数据类型,将数据内存占用量减少近 90%。...对象(object columns)主要用于存储字符串,包含混合数据类型。为了更好地了解怎样减少内存使用量,让我们看看 Pandas如何将数据存储在内存。...数据内部表示 在底层,Pandas 按照数据类型将分成不同块(blocks)。这是 Pandas 如何存储数据前十二预览。 你会注意到这些数据块不会保留对列名引用。...和之前相比 在这种情况下,我们将所有对象都转换为 category 类型,但是这种情况并不符合所有数据集,因此务必确保事先进行过检查。...通过优化这些,我们设法将 pandas 内存使用量,从 861.6MB 降到了 104.28MB,减少了 88%。 分析棒球比赛 我们已经优化了数据,现在我们可以开始对数据进行分析了。

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

Pandas库常用方法、函数集合

Pandas是Python数据分析处理核心第三方库,它使用二维数组形式,类似Excel表格,并封装了很多实用函数方法,让你可以轻松地对数据集进行各种操作。...,适合将数值进行分类 qcut:和cut作用一样,不过它是将数值等间距分割 crosstab:创建交叉表,用于计算两个或多个因子之间频率 join:通过索引合并两个dataframe stack: 将数据...“堆叠”为一个层次化Series unstack: 将层次化Series转换回数据形式 append: 将一行或多行数据追加到数据末尾 分组 聚合 转换 过滤 groupby:按照指定或多个对数据进行分组...: 替换字符串特定字符 astype: 将一数据类型转换为指定类型 sort_values: 对数据按照指定进行排序 rename: 对或行进行重命名 drop: 删除指定或行 数据可视化...pandas.plotting.bootstrap_plot:用于评估统计数据不确定性,例如均值,中位数,中间范围等 pandas.plotting.lag_plot:绘制时滞图,用于检测时间序列数据模式

22810

洞悉客户心声:Pandas标签帮你透视客户,标签化营销如虎添翼

) # 主要是找出 不正常数据数据, 如果数据质量不错,这里就不会执行 # 将数据列为 key 且数值等于 num_null[key] 值替换为 98。...null_ind1 = list( df[df[key] == '99'].index) # 找到数据列为 key 且数值等于 99 索引,并转换为列表形式。...三、对数值型指标进行判断该函数用于对数值型指标进行判断,大于输入词典阙值判断为1,否则为0。举个例子,现在要判定客户是否为存续客户,如果存续金额>0则为1,否则为0。...import pandas as pddef boo_process(df, boo_dict): ''' 该函数用于对数值型指标进行判断,大于输入词典阙值判断为1,否则为0,其中:...Python 对象 字典值 print(cat_dict)运行结果{'curr_hold_amt_mom': -2, 'curr_hold_amt_yoy': -2}五、pandas横表竖表最后这段代码主要作用是将数据从横表转换为竖表

15210

6个冷门但实用pandas知识点

Python大数据分析 1 简介 pandas作为开展数据分析利器,蕴含了与数据处理相关丰富多样API,使得我们可以灵活方便地对数据进行各种加工,但很多pandas实用方法其实大部分人都是不知道...记录行顺序 有时候我们需要对数据整体行顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干行作为训练集后若干行作为测试集,这在pandas可以利用sample()方法快捷实现。...range(5), 'V2': range(5) }) df.sample(frac=1) 图4 2.3 利用类别型数据减少内存消耗 当我们数据某些是由少数几种值大量重复形成时,会消耗大量内存...2.4 pandasobject类型陷阱 在日常使用pandas处理数据过程,经常会遇到object这种数据类型,很多初学者都会把它视为字符串,事实上object在pandas可以代表不确定数据类型...在pandas我们可以对单个Series查看hanans属性来了解其是否包含缺失值,而结合apply(),我们就可以快速查看整个数据哪些含有缺失值: df = pd.DataFrame({

85330

6个冷门但实用pandas知识点

1 简介 pandas作为开展数据分析利器,蕴含了与数据处理相关丰富多样API,使得我们可以灵活方便地对数据进行各种加工,但很多pandas实用方法其实大部分人都是不知道,今天就来给大家介绍...图2   顺便介绍一下单列数据组成数据转为Series方法: 利用squeeze()实现单列数据DataFrameSeries # 只有单列数据DataFrame转为Series s.squeeze...图3 2.2 随机打乱DataFrame记录行顺序   有时候我们需要对数据整体行顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干行作为训练集后若干行作为测试集,这在pandas...图4 2.3 利用类别型数据减少内存消耗   当我们数据某些是由少数几种值大量重复形成时,会消耗大量内存,就像下面的例子一样: import numpy as np pool = ['A',...图10 2.5 快速判断每一是否有缺失值   在pandas我们可以对单个Series查看hanans属性来了解其是否包含缺失值,而结合apply(),我们就可以快速查看整个数据哪些含有缺失值

1.2K40

Python面试十问2

四、如何快速查看数据统计摘要 区别df.describe()和df.info() df.describe():默认情况下,它会为数值提供中心趋势、离散度和形状统计描述,包括计数、均值、标准差、最小值...此外,你可以通过传递参数来调整df.describe()行为,例如include参数可以设置为'all'来包含所有统计信息,或者设置为'O'来仅包含对象统计信息。...df.info():主要用于提供关于DataFrame一般信息,如索引、数据类型、非空值数量以及内存使用情况。它不会提供数值数据统计摘要,而是更多地关注于数据整体结构和数据类型。...合并操作 如何将新⾏追加到pandas DataFrame?...十、数据透视表应用 透视表是⼀种可以对数据动态排布并且分类汇总表格格式,在pandas它被称作pivot_table。

6310

Pandas速查卡-Python数据科学

('1900/1/30', periods=df.shape[0]) 添加日期索引 查看/检查数据 df.head(n) 数据前n行 df.tail(n) 数据后n行 df.shape() 行数和数...) 所有唯一值和计数 选择 df[col] 返回一维数组col df[[col1, col2]] 作为新数据返回 s.iloc[0] 按位置选择 s.loc['index_one'] 按索引选择...=n) 删除所有小于n个非空值行 df.fillna(x) 用x替换所有空值 s.fillna(s.mean()) 将所有空值替换为均值(均值可以用统计部分几乎任何函数替换) s.astype(float...) 将数组数据类型转换为float s.replace(1,'one') 将所有等于1值替换为'one' s.replace([1,3],['one','three']) 将所有1替换为'one',...df.describe() 数值汇总统计信息 df.mean() 返回所有平均值 df.corr() 查找数据之间相关性 df.count() 计算每个数据非空值数量 df.max

9.2K80

一键提升数据挖掘姿势水平,5种高效利用value-counts函数方法

作者:Parul Pandey 编译:王子嘉 本文自机器之心 数据挖掘是机器学习领域一个重要组成部分。在确定训练哪种模型以及训练多少模型之前,我们必须对数据包含内容有所了解。...Pandas 库为此提供了许多有用函数,value_counts 就是其中之一。此函数返回 pandas 数据各个项数量。但在使用 value-counts 函数大多数时候用到是默认参数。...也就是说,对于数据任何,value-counts () 方法会返回该每个项计数。 语法 Series.value_counts() 参数 ?...由上图可见,Age、Cabin 和 Embarked 都有无效值。通过这些分析,我们就对数据集有了初步了解。...如何用 value_counts() 将连续数据放进离散区间 这是 value_counts() 所有功能作者最喜欢,也是利用最充分

83230

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

对于包含数值数据(比如整型和浮点型)数据块,pandas会合并这些,并把它们存储为一个Numpy数组(ndarray)。Numpy数组是在C数组基础上创建,其值在内存是连续存储。...两者都占用相同内存存储量,但无符号整型由于只存正数,所以可以更高效存储只含正数。 用子类型优化数值 我们可以用函数pd.to_numeric()来对数值型进行向下类型转换。...这对我们原始dataframe影响有限,这是由于它只包含很少整型。 同理,我们再对浮点型进行相应处理: 我们可以看到所有的浮点型都从float64换为float32,内存用量减少50%。...更之前一样进行比较: 这本例所有的object都被转换成了category类型,但其他数据集就不一定了,所以你最好还是得使用刚才检查过程。...总结 我们学习了pandas如何存储不同数据类型,并利用学到知识将我们pandas dataframe内存用量降低了近90%,仅仅只用了一点简单技巧: 将数值降级到更高效类型 将字符串列转换为类别类型

8.5K50

左手用R右手Python系列10——统计描述与联分析

数据统计描述与联表分析是数据分析人员需要掌握基础核心技能,R语言与Python作为优秀数据分析工具,在数值数据描述,类别型变量交叉分析方面,提供了诸多备选方法。...这里根据我们平时对于数据结构分类习惯,按照数值型和类别型变量分别给大家盘点一下R与Python那些简单使用分析函数。...Python: 关于Python变量与数据描述函数,因为之前已经介绍过一些基础聚合函数,这里仅就我使用最多数据透视表和交叉表进行讲解:Pandas数据透视表【pivot_table】和交叉表...【crosstab】规则几乎与Excel透视表理念很像,可以作为所有数值型、类别型变量表述统计、频率统计和交叉联表统计使用。...以上透视表是针对数值型变量分组聚合,那么针对类别型变量则需要使用pandas交叉表函数进行列表分析。

3.4K120

左手用R右手Python系列——因子变量与分类重编码

因而原则上来讲,数值型变量可以转换为因子变量,因子变量可以转换为文本型变量,但是以上顺序却是不可逆(信息含量多变量可以放弃信息量,转换为信息含量较少变量类型,但是信息含量较少变量却无法增加信息含量...以下将分别讲解在R语言和Python如何生成因子变量、如何将数值型变量转换为因子变量、以及如何对因子变量进行重编码。...除了直接在生成序列或者数据时生成因子变量之外,也可以通过一个特殊函数pd.Categorical来完成在序列和数据创建因子变量。...无论是序列还是数据因子变量生成之后,都可以通过以下属性查看其具体类型、因子类别、以及是否含有顺序。...,pandas数据也有与R语言同名函数——cut。

2.5K50

Python数据分析pandas之series初识

今天说一说Python数据分析pandas之series初识,希望能够帮助大家进步!!!...Python数据分析pandas之series初识 声明与简介 pandas是一个基于python、快速、高效、灵活、易用开源数据处理、分析包(工具)。。...pandas构建在numpy之上,它通过DataFrame(数据)来操作数据数据是一个高效可以指定行和标签多维数组,通过这种数据类型可以更方便操作、分析数据。...([1, 2, 3, 4])) print(serie1) #结果 0 1 1 2 2 3 3 4 dtype: int32 #注:这里没有指定索引,默认索引是数值,从...另外这里也举例说明了Series里自动实现元素类型统一,比如元素类型有int和float时,int都统一换为float。

48970

Python数据分析pandas之分组统计透视表

数据聚合统计 Padans里聚合统计即是应用分组方法对数据进行聚合统计,常见有min(最小)、max(最大)、avg(平均值)、sum(求和)、var()、std(标准差)、百分位数、中位数等。...数据概览 可以通过describe方法查看当前数据数值统计信息,主要包括条数、均值、标准差、最小值、25分位数、50分位数、75分位数、最大值方面的信息。...如果是查看某统计信息,在数据框下加“.”列名即可。...,91]],columns=['name','age','level','score'],index=['no_001','no_002','no_003','no_006']) #查看所有数值数据概况...,35,'A',91]],columns=['name','age','level','score'],index=['no_001','no_002','no_003','no_006']) #查看所有数值数据详情

1.5K30

多快好省地使用pandas分析大型数据

,且整个过程因为中间各种临时变量创建,一度快要撑爆我们16G运行内存空间。...('train.csv', nrows=1000) raw.info() 图3 怪不得我们数据集读进来会那么大,原来所有的整数列都转换为了int64来存储,事实上我们原数据集中各个整数字段取值范围根本不需要这么高精度来存储...,前1000行数据内存大小被压缩了将近54.6%,这是个很大进步,按照这个方法我们尝试着读入全量数据并查看其info()信息: 图5 可以看到随着我们对数据精度优化,数据集所占内存有了非常可观降低...「只读取需要」 如果我们分析过程并不需要用到原数据集中所有,那么就没必要全读进来,利用usecols参数来指定需要读入字段名称: raw = pd.read_csv('train.csv',...usecols=['ip', 'app', 'os']) raw.info() 图7 可以看到,即使我们没有对数据精度进行优化,读进来数据大小也只有4.1个G,如果配合上数据精度优化效果会更好

1.4K40

【Mark一下】46个常用 Pandas 方法速查表

数据与RDataFrame格式类似,都是一个二维数组。Series则是一个一维数组,类似于列表。数据Pandas中最常用数据组织方式和对象。...例如可以从dtype返回值仅获取类型为bool。 3 数据切片和切块 数据切片和切块是使用不同或索引切分数据,实现从数据获取特定子集方式。...Out: col1 col2 col3 0 2 a True 1 1 b True选择col3值为True所有记录多单条件以所有的列为基础选择符合条件数据...'col2=="b"')) Out: col1 col2 col3 1 1 b 1筛选数据col2值为b记录 5 数据预处理操作 Pandas数据预处理基于整个数据或...本节功能具体如表5所示: 表5 Pandas常用预处理方法 方法用途示例示例说明T数据,行和转换In: print(data2.T) Out: 0 1 2 col1 2

4.7K20

数据整合与数据清洗

每次爬虫获取数据都是需要处理下。 所以这一次简单讲一下Pandas用法,以便以后能更好使用。 数据整合是对数据进行行列选择、创建、删除等操作。...', None) # 显示10行 pd.set_option('display.max_rows', 10) # 设置显示宽度为1000,这样就不会在IDE输出换行了 pd.set_option(...可以直接用列名选择,也可以通过ix、iloc、loc方法进行选择行、。 ix方法可以使用数值或者字符作为索引来选择行、。 iloc则只能使用数值作为索引来选择行、。...创建。可以直接通过赋值完成,也可通过数据assign来完成赋值,不过后一种方法需要赋值给新表才能生效。...删除。使用数据方法drop。

4.6K30

加速数据分析,这12种高效Numpy和Pandas函数为你保驾护航

argpartition() 借助于 argpartition(),Numpy 可以找出 N 个最大数值索引,也会将找到这些索引输出。然后我们根据需要对数值进行排序。...Pandas 适用于以下各类数据: 具有异构类型表格数据,如 SQL 表或 Excel 表; 有序和无序 (不一定是固定频率) 时间序列数据; 带有行/标签任意矩阵数据(同构类型或者是异构类型...Pandas 擅长处理类型如下所示: 容易处理浮点数据和非浮点数据 缺失数据(用 NaN 表示); 大小可调整性: 可以从 DataFrame 或者更高维度对象插入或者是删除; 显式数据可自动对齐...简化将数据换为 DataFrame 对象过程,而这些数据基本是 Python 和 NumPy 数据结构不规则、不同索引数据; 基于标签智能切片、索引以及面向大型数据子设定; 更加直观地合并以及连接数据集...这个函数参数可设置为包含所有拥有特定数据类型,亦或者设置为排除具有特定数据类型

7.5K30

左手用R右手Python系列——数据塑型与长宽转换

转换之后,长数据结构保留了原始宽数据Name、Conpany字段,同时将剩余年度指标进行堆栈,转换为一个代表年度类别维度和对应年度指标。(即转换后,所有年度字段被降维化了)。...除此之外,tidyr包spread函数在解决数据宽方面也是很好一个选择。...Python我只讲两个函数: melt #数据长 pivot_table #数据宽 PythonPandas包提供了与R语言中reshape2包内几乎同名melt函数来对数据进行塑型...奇怪是我好像没有在pandas中找到对应melt数据宽函数(R语言中都是成对出现)。...pandas数据透视表函数提供如同Excel原生透视表一样使用体验,即行标签、标签、度量值等操作,根据使用规则,行列主要操作维度指标,值主要操作度量指标。

2.5K60
领券