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

【Pandas教程】像写SQL一样用Pandas~

Pandas pandas支持的数据源很多,包括csv,excel,以及读取数据库,当然读取数据库的话需要配合其他库,包括oracle,mysql,vertica,presto等等都是支持的。...其实我一开始对这两个方法很容易混淆,其实后面发现很好区分,如果需要用列名来筛选,请用loc,如果使用列索引,请用iloc。...', 'City'])['Longitude'].mean().reset_index() 高阶用法: 我们可以同时对于不同列采取不同的聚合运算,譬如对A列使用sum(),对B列使用mean(),在SQL...在Pandas中我们可以使用pandas.merge()来完成连接对操作。...自定义函数 Pandas中内置很多常用的方法,譬如求和,最大值等等,但很多时候还是满足不了需求,我们需要取调用自己的方法,Pandas中可以使用map()和apply()来调用自定义的方法,需要注意下map

2.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pandas库的简单介绍(3)

    当选择标签作为索引,会选择数据尾部,当为整数索引,则不包括尾部。例如列表a[0, 1, 2, 3, 4]中,a[1:3]的值为1,2;而pandas中为1,2,3。...数据选择的方法:1、直接选择;2、使用loc选择数据;3、使用iloc选择数据。 直接选择中,frame[[列名,列名]]表示选择列,frame[:3]表示选择行。...[:, :3][frame.three > 5]) #使用iloc选择数据) 使用loc和iloc选择数据 ---- DataFrame索引选项 类型 描述 df[val] 从DataFrame中选择单列或多列或行...Numpy的通用函数(逐元素数组方法)对pandas对象也有效。...np的abs(绝对值)方法 另外一个常用操作是将函数应用到一行或一列的一维数组上,DataFrame的apply方法可以实现这个功能,是个很有用的方法。

    1.2K10

    Pandas从入门到放弃

    的列操作 以前面的df2这一DataFrame变量为例,若希望获取点A的x、y、z坐标,则可以通过三种方法获取: 1、df[列索引];2、df.列索引;3、df.iloc[:, :] 注意: 在使用第一种方式时...第三类方法常用于获取多个列,其返回值也是一个DataFrame。...至此已经了解了df.loc[][]以及df.iloc[],我们可以进行一下对比: 1)使用.iloc访问数据的时候,可以不考虑数据的索引名,只需要知道该数据在整个数据集中的序号即可 2)使用.loc...使用file.describe()对所有数字列进行统计,返回值中统计了个数、均值、标准差、最小值、25%-75%分位数、最大值 file.describe() 通过file[].mean()或file[...() 除了对单一列进行分组,也可以对多个列进行分组。

    9610

    11招对比Pandas双列求和

    11种方法对比Pandas双列求和 数据模拟 为了效果明显,模拟了一份5万条的数据,4个字段: import pandas as pd import numpy as np data = pd.DataFrame...np.random.uniform(1,1000,50000), "D":np.random.uniform(1,1000,50000) }) data 11种函数 下面是通过11种不同的函数来实现A、C两列的数据相加求和...E列 方法1:直接相加 把df的两列直接相加 In [3]: def fun1(df): df["E"] = df["A"] + df["C"] 方法2:for+iloc定位 for语句 + iloc..., 2] # iloc[i,0]定位A列的数据 方法3:iloc + sum iloc方法针对全部行指定列的求和: 0:第一列A 2:第三列C In [5]: def fun3(df): df...numpy数组最省时间,相差4万多倍;主要是因为Numpy数组使用的向量化操作 sum函数(指定轴axis=1)对效果的提升很明显 总结:循环能省则省,尽可能用Pandas或者numpy的内置函数来解决

    30530

    Pandas vs Spark:获取指定列的N种方式

    ,此处用单个列名即表示提取单列,提取结果为该列对应的Series,若是用一个列名组成的列表,则表示提取多列得到一个DataFrame子集; df.iloc[:, 0]:即通过索引定位符iloc实现,与loc...类似,只不过iloc中传入的为整数索引形式,且索引从0开始;仍与loc类似,此处传入单个索引整数,若传入多个索引组成的列表,则仍然提取得到一个DataFrame子集。...02 spark.sql中DataFrame获取指定列 spark.sql中也提供了名为DataFrame的核心数据抽象,其与Pandas中DataFrame有很多相近之处,但也有许多不同,典型区别包括...而Pandas中则既有列名也有行索引;Spark中DataFrame仅可作整行或者整列的计算,而Pandas中的DataFrame则可以执行各种粒度的计算,包括元素级、行列级乃至整个DataFrame级别...当然,本文不过多对二者的区别做以介绍,而仅枚举常用的提取特定列的方法。

    11.5K20

    numpy与pandas

    值在0~1之间的矩阵np.sum(f) # 矩阵所有元素求和np.sum(f,axis=1) # axis表示维度,这里axis=1表示每列求和np.min(f) # 矩阵求最小值np.min(f,axis...一一对应np.sort(a) # a矩阵每行按由小到大的顺序排序np.transpose(a) # a矩阵的转置矩阵,也可以:a.Tnp.clip(a,5,9) # a矩阵中所有小于5(包括5)的数变为...)df.iloc[:,0] # 提取第0列的数据df.loc['20130102',['a','b']] # 选择20130102的行,列为a、b的数据# iloc根据位置选择df.iloc[3] #...第三行(从0开始第三行)df.iloc[3,1] # 第三行第一列(从0开始)df.iloc[3:5,1:3] # 第三行到第五列(不包括),第一列到第三列(不包括)(从0开始,左闭右开)df.iloc...导入导出数据# 读取excel推荐使用reas_csv# 保存:to_csv等import pandas as pdimport numpy as npdata = pd.read_csv('test.csv

    12110

    用 Pandas 进行数据处理系列 二

    a_name','bname']] ,里面需要是一个 list 不然会报错增加一列df['new']=list([...])对某一列除以他的最大值df['a']/df['a'].max()排序某一列df.sorted_values...列显示 hight , 否则显示 low df['group'] = np.where(df['pr'] > 3000, 'hight', 'low') 对复合多个条件的数据进行分级标记 df.loc...loc函数按标签值进行提取iloc按位置进行提取ix可以同时按标签和位置进行提取 具体的使用见下: df.loc[3]按索引提取单行的数值df.iloc[0:5]按索引提取区域行数据值df.reset_index...,然后将符合条件的数据提取出来pd.DataFrame(category.str[:3])提取前三个字符,并生成数据表 数据筛选 使用与、或、非三个条件配合大于、小于、等于对数据进行筛选,并进行计数和求和...= ['beijing', 'shanghai']) 对筛选后的结果按 pr 进行求和 df.query('city' == ['beijing', 'shanghai']).pr.sum() 数据汇总

    8.2K30

    机器学习库:pandas

    和DataFrame,在机器学习中主要使用DataFrame,我们也重点介绍这个 DataFrame dataframe是一个二维的数据结构,常用来处理表格数据 使用代码 import pandas as...数据选取 iloc 我觉得pandas里面选取数据的一个很通用的方法是iloc pd.iloc[行序号, 列序号] iloc的参数用逗号隔开,前面是行序号,后面是列序号 import pandas...示例:") print(p.iloc[0, 0]) print(p.iloc[2, 0]) iloc也支持切片操作 import pandas as pd a = {"a": [1, 3, 5, 3...) 这会打印第一列的0到3行 数据描述 head head可以查看指定前几行的值,这方便在处理一些大数据集时,我们可以只加载几列来了解数据集而不必加载整个数据集 import pandas as pd...list函数把它转化成列表然后打印出来,可以看到成功分组了,我们接下来会讲解如何使用聚合函数求和 聚合函数agg 在上面的例子中我们已经分好了组,接下来我们使用agg函数来进行求和,agg函数接收的参数是一个函数

    14510

    【Python环境】Python中的结构化数据分析利器-Pandas简介

    使用位置选取数据: df.iloc[行位置,列位置]df.iloc[1,1]#选取第二行,第二列的值,返回的为单个值df.iloc[0,2],:]#选取第一行及第三行的数据df.iloc[0:2,:]#...的缩写,iloc则为integer & location的缩写 更广义的切片方式是使用.ix,它自动根据你给到的索引类型判断是使用位置还是标签进行切片 df.ix[1,1]df.ix['a':'b']...df.groupby(['A','B']).sum()##按照A、B两列的值分组求和 对应R函数: tapply() 在实际应用中,先定义groups,然后再对不同的指标指定不同计算方式。...D列的值汇总求和pd.crosstab(rows = ['A', 'B'], cols = ['C'], values = 'D')#以A、B为行标签,以C为列标签将D列的值汇总求和 时间序列分析 时间序列也是...关于Panda作图,请查看另一篇博文:用Pandas作图 以上是关于Pandas的简单介绍,其实除了Pandas之外,Python还提供了多个科学计算包,比如Numpy,Scipy,以及数据挖掘的包:Scikit

    15.1K100

    Pandas教程

    作为每个数据科学家都非常熟悉和使用的最受欢迎和使用的工具之一,Pandas库在数据操作、分析和可视化方面非常出色 为了帮助你完成这项任务并对Python编码更加自信,我用Pandas上一些最常用的函数和方法创建了本教程...e) 从多个列中选择多行。 data.loc[[7,28,39], ['Name', 'Age', 'Sex','Survived']] ? f) 在某些条件下使用loc选择特定值。...布尔索引:iloc data.iloc[, ]按数字选择行和列 a) 选择数据集的第4行。 data.iloc[3] ? b) 从所有列中选择一个行数组。...data.iloc[[7], [3,5,4,1]] ? e) 从多个列中选择多行。 data.iloc[[7,28,39], [3,5,4,1]] ? f) 选择多行形成列序列。...data.iloc[:, [3,6]] 7、28、39行,从第3列到第6列。 data.iloc[[7,28,39], 3:7] 最后一列的最后20行。

    2.9K40

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

    关键技术: 二维数组索引语法总结如下: [对行进行切片,对列的切片] 对行的切片:可以有start:stop:step 对列的切片:可以有start:stop:step import pandas...数据获取 ①列索引取值 使用单个值或序列,可以从DataFrame中索引出一个或多个列。...程序代码如下所示: 三、算术运算与比较运算 通过一些实例操作来介绍常用的运算函数,包括一个数组内的求和运算、求积运算,以及多个 数组间的四则运算。...程序代码 如下所示: 【例】请使用Python对多个数组进行求和运算操作。...关键技术:可以使用乘法运算符*,程序如下所示: 【例】请使用Python对多个数组间进行求积运算操作。

    19310

    python数据科学系列:pandas入门详细教程

    自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片类型与索引列类型不一致时,引发报错 loc/iloc,最为常用的两种数据访问方法,其中loc按标签值访问、iloc按数字索引访问,均支持单值访问或切片查询。...loc和iloc应该理解为是series和dataframe的属性而非函数,应用loc和iloc进行数据访问就是根据属性值访问的过程 另外,在pandas早些版本中,还存在loc和iloc的兼容结构,即...4 合并与拼接 pandas中又一个重量级数据处理功能是对多个dataframe进行合并与拼接,对应SQL中两个非常重要的操作:union和join。...一般而言,分组的目的是为了后续的聚合统计,所有groupby函数一般不单独使用,而需要级联其他聚合函数共同完成特定需求,例如分组求和、分组求均值等。 ?

    15K20

    Python数据分析之pandas数据选取

    Dataframe对象的每一列都有列名,可以通过列名实现对列的选取。 1)选取行 选取行的方式包括三种:整数索引切片、标签索引切片和布尔数组。...采用df.loc[],df.iloc[],df.ix[]这三种方法进行数据选取时,方括号内必须有两个参数,第一个参数是对行的筛选条件,第二个参数是对列的筛选条件,两个参数用逗号隔开。...df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。; df.ix[]既可以使用标签索引,也可以使用整数索引。 下面分别通过实例演示这三种方法。...拓展与总结 1)选取某一整行(多个整行)或某一整列(多个整列)数据时,可以用df[]、df.loc[]、df.iloc[],此时df[]的方法书写要简单一些。...4)选取数据时,返回值存在以下情况: 如果返回值包括单行多列或多行单列时,返回值为Series对象;如果返回值包括多行多列时,返回值为DataFrame对象;如果返回值仅为一个单元格(单行单列)时,返回值为基本数据类型

    1.6K30
    领券