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

pandas操作excel全总结

DataFrame是一个类似表格的二维数据结构,索引包括列索引和索引,每列可以是不同的类型(数值、字符串、布尔等)。DataFrame的每一和每一列都是一个Series。...,默认第一,header = None, 没有表头,全部为数据内容 encoding:文件编码方式,设置此选项, Pandas 默认使用 UTF-8 来解码。...列的标签查询 「iloc」 通过行号索引行数据,行号0开始,逐次加1。...「注意」 当使用显式索引(即data['a':'c'])作切片时,结果「包含」最后一个索引;使用隐式索引(即 data[0:2]) 作切片时,结果「包含」最后一个索引。...1]) # 删除 df.drop_duplicates() # 删除重复 df.fillna('missing')# 使用字符串填补 df.replace('old', 'new') # old替换成

20.6K43

Python数据分析之pandas基本数据结构

索引(index):与一维数组一一对应的标签。利用索引,我们可非常方便得在Series数组中进行取值。...: >>> a['第一列'] 102 >>> a[['第一列', '第二列']] 第一列 102 第二列 212 dtype: int64 当然,你也可以使用以往的数字下标数组中取值: >>> a[0...与Series类似,DataFrame数组也有一个index索引,在指定索引时,通常会自动生成从零开始步长为1的索引。...此外DataFrame数组还有一个列名,索引和列名数组中挑选数据的重要依据。...3.2 创建DataFrame数组 (1)通过字典创建 通过字典来创建DataFrame数组时,字典的键将会自动成DataFrame数组的列名,字典的必须是可迭代对象,例如Series、numpy数组

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

一文介绍Pandas中的9种数据访问方式

以下面经典的titanic数据集为例,可以两个方面特性来认识DataFrame: ? DataFrame是一个行列均由多个Series组成的二维数据表框,其中Series可看做是一个一维向量。...当然,这里只是将其"看做"而非等价,是因为其与一个严格的dict还是有很大区别的,一个很重要的形式上区别在于:DataFrame列名是可以重复的,dict的key则是不可重复的。...通常情况下,[]常用于在DataFrame中获取单列、多列或多行信息。具体而言: 当在[]中提供单或多值(多个列名组成的列表)访问时按列进行查询,单访问不存在列名歧义时还可直接用属性符号" ....切片类型与索引列类型不一致时,引发报错 2. loc/iloc,可能是除[]之外最为常用的两种数据访问方法,其中loc按标签列名索引取值)访问、iloc按数字索引访问,均支持单访问或切片查询...在DataFrame中,filter是用来读取特定的或列,并支持三种形式的筛选:固定列名(items)、正则表达式(regex)以及模糊查询(like),并通过axis参数来控制是方向或列方向的查询

3.7K30

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

二者之间主要区别是: 数据结构上看: numpy的核心数据结构是ndarray,支持任意维数的数组,但要求单个数组内所有数据是同质的,即类型必须相同;pandas的核心数据结构是series和dataframe...、切片访问、通函数、广播机制等 series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单或多值(多个列名组成的列表)访问时按列进行查询,单访问不存在列名歧义时还可直接用属性符号" ....检测各行是否重复,返回一个索引的bool结果,可通过keep参数设置保留第一/最后一/无保留,例如keep=first意味着在存在重复的多行时,首被认为是合法的可以保留 删除重复,drop_duplicates...两种数据结构作图,区别仅在于series是绘制单个图形,dataframe则是绘制一组图形,且在dataframe绘图结果中以列名为标签自动添加legend。

13.8K20

数据导入与预处理-第6章-01数据集成

how:表示数据合并的方式,支持’inner’(默认)、‘left’、‘right’、'outer’共4个取值。 on:表示left与right合并的键。...how参数的取值‘inner’代表基于left与right的共有的键合并,类似于数据库的内连接操作;'left’代表基于left的键合并,类似于数据库的左外连接操作;'right’代表基于right的键合并...ignore_index:是否忽略索引,可以取值为True或False(默认)。若设为True,则会在清除结果对象的现有索引后生成一组新的索引。...重叠合并数据是一种并不常见的操作,它主要将一组数据的空填充为另一组数据中对应位置的。pandas中可使用combine_first()方法实现重叠合并数据的操作。...'score': ['A', 'B', 'C', 'B']}) # 两个dataframe在合并时候有相同的列名,需要使用属性lsuffix和rsuffix指定相同列名的后缀 score_df.join

2.5K20

Pandas_Study01

,但特殊的同时与普通的一维数组不同 列表只能有0开始的整数索引,series则可以自定义标签索引,这一点来看,跟字典又比较相似,因此series又可以拥有类似字典的操作方式,series 的标签索引可以随时更新修改替换...DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的DataFrame既有索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。...切片 和 取值 使用 切片,取出元素 money_series.loc['c':'a':-1] # c取到 a,倒序 """ c 10 b 300 a 200 Name: money...目前而言,使用最多的应该会是读取文本文件的方式,读取到文件后就是一个dataframe 对象,之后的操作都是基于dataframe和series 来。...series 中的常用函数 1. get() 和 get_value() 方法 因为series 具有字典的一些特征,所以允许使用get 方法来获取数值,如果没有则返回默认get_value 功能类似

16210

DataFrame和Series的使用

DataFrame和Series是Pandas最基本的两种数据结构 可以把DataFrame看作由Series对象组成的字典,其中key是列名是Series Series和Python...,列索引分别为姓名,职业和年龄 pd.DataFrame() 默认第一个参数放的就是数据 - data 数据 - columns 列名 - index 索引名 pd.DataFrame(data...DataFrame的loc 属性获取数据集里的一,就会得到一个Series对象 first_row = data.loc[941] first_row 3.可以通过 index 和 values属性获取索引和...df按加载部分数据:先打印前5数据 观察第一列 print(df.head()) 最左边一列是行号,也就是DataFrame索引 Pandas默认使用行号作为索引。...) → dataframeGroupby对象就是把continent取值相同的数据放到一组中 df.groupby(‘continent’)[字段] → seriesGroupby对象 分号组的Dataframe

7110

Pandas

[:][m:n] DataFrame.head/tail():访问前/后五 整数标签的特殊情况 为了防止计算机不知道用户输入的索引是基于位置还是基于标签的,pd 整数标签的索引是基于标签的,也就是说我们不能像列表一样使用...进行切片,对的指定要使用索引或者条件,对列的索引必须使用列名称,如果有多列,则还需要借助[]将列名称括起来。...以加法为例,它会匹配索引相同(和列)的进行算术运算,再将索引匹配的数据视作缺失,但是也会添加到最后的运算结果中,从而组成加法运算的结果。...随机抽样 随机抽样用到的是 df.sample(n)函数,该函数返回为对于 df 以行为抽样单位进行的随机抽样,返回总体随机抽出的 n 组成的 df(默认不可以重复,可以调整参数) import...传入一个函数名组成的列表,则会将每一个函数的函数名作为返回列名,如果希望使用函数名作为列名,可以将列表中的元素写成类似’(column_name,function)'的元组形式来指定列名为name

9.1K30

python数据分析——数据分类汇总与统计

例如, DataFrame可以在其(axis=0)或列(axis=1)上进行分组。然后,将一个函数应用(apply)到各个分组并产生一个新。...(df['key1']).describe() 关键技术: size跟count的区别是: size计数时包含NaN,count包含NaN。...如果说用groupby进行数据分组,可以看做是基于(或者说是index)操作的话,则agg函数则是基于列的聚合操作。...) 对于DataFrame,你可以定义一组应用于全部列的一组函数,或列应用不同的函数。...具体的办法是向agg传入一个列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 2.3.返回不含索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引

9910

2021年大数据Spark(三十二):SparkSQL的External DataSource

例如,Parquet和ORC等柱状格式使列的子集中提取值变得更加容易。 基于的存储格式(如Avro)可有效地序列化和存储提供存储优势的数据。然而,这些优点通常以灵活性为代价。...方法底层还是调用text方法,先加载数据封装到DataFrame中,再使用as[String]方法将DataFrame转换为Dataset,实际中推荐使用textFile方法,Spark 2.0开始提供...无论是text方法还是textFile方法读取文本数据时,一的加载数据,每行数据使用UTF-8编码的字符串,列名称为【value】。 ...关于CSV/TSV格式数据说明: SparkSQL中读取CSV格式数据,可以设置一些选项,重点选项:  1)、分隔符:sep 默认为逗号,必须单个字符  2)、数据文件首是否是列名称:header...默认为false,如果数据文件首列名称,设置为true  3)、是否自动推断每个列的数据类型:inferSchema 默认为false,可以设置为true 官方提供案例: 当读取CSV/

2.2K20

Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

1.3.1 常用的检测方法有3σ原则(拉依达准则)和箱形图  ​ 3σ原则是基于正态分布的数据检洳箱形图没有什么严格的要求,可以检测任意一组数据,  1.3.1.1 3σ原则  ​ 是指假设一组检测数据只含有随机误差...2.3 根据索引合并数据  ​ join()方法能够通过索引或指定列来连接多个DataFrame对象  2.3.1 join()方法  on:名称,用于连接列名。...注意:使用combine_first()方法合并两个DataFrame对象时,必须确保它们的索引和列索引有重叠的部分  3....prefix:表示列名的前缀,默认为None。(‘col’)  prefix_sep:用于附加前缀作为分隔符使用,默认为“_”。  ​...哑变量又称应拟变量,名义变量,名称上看就知道,它是人为虚设的变量,用来反映某个交量的间类别 ​ 使用哑变最处理类别转换,事实上就是将分类变量转换为哑变最矩阵或指标矩阵,矩阵的通常用“0”或“1”表示

5.1K00

jupyter notebook 之 pandas

1.基于Numpy,基于Matplotlib,把这两个库进行了再封装 2.拥有Series,DataFrame两种数据种类型(Series即是一个序列,又是一个hash表)(DataFrame把Series...如果没有列名,我们可以指定列名,要求是一个序列(['name','sex','age']) engine=None           使用C或pythn作为计算引擎(C的速度快,python比较精确)...    {'c', 'python'} skiprows=None         跳过多少 nrows=None           取多少 skipfooter=0         尾部跳过...20]: #只匹配返回结果为True的 S[bls] Out[20]: a 6 b 6 d 7 g 9 dtype: int64 显示索引&隐式索引 显示索引 .loc[] 只能使用关联型的索引取值...,是一个闭区间,适合查找一个指定的 隐式索引 .iloc[] 只能使用枚举型的索引取值,是一个半闭区间,适合查找一个范围的 In [45]: #离散类型的 : 关联型 S['a':'j'] . .

3.1K20

数据处理利器pandas入门

如果仅给定列表,指定index参数,默认索引为0开始的数字。注意:索引标签为字符串和整数的混合类型。记住不要使用浮点数作为索引,并且尽量避免使用混合类型索引。...two':[2,4,6]}) # 指定索引,默认仍0开始。...这里还要注意一点:由于type列对应了不同的空气质量要素,不同的空气质量要素具有不同的取值范围,因此在使用describe查看统计信息时,应针对不同的要素进行,这样才有具体意义,才能看出每个要素的分布...Pandas主要有两种数据查询选择操作: 基于标签的查询 基于整数的位置索引查询 Pandas在选择列时,无需使用 date[:, columns] 的形式,先使用 : 选择所有,再指定 columns...如果想丢弃缺失,可使用 .dropna 方法,即 data.dropna() 但对于时间序列而言,一般选择直接丢弃缺失时刻,否则可能造成时间缺失,破坏连续性。因此,可以选择补齐数据。

3.6K30

手把手教你使用Pandas读取结构化数据

我们可通过限定时间ID和样本ID获得对应的Series和DataFrame。 由于这些对象的常用操作方法十分相似,因此本文主要使用DataFrame进行演示。...打印出来的DataFrame包含索引(第一列),列名(第一)及数据内容(除第一和第一列之外的部分)。 此外,read_csv函数有很多参数可以设置,如下所示。...filepath_or_buffer csv文件的路径 sep = ',' 分隔符,默认为逗号 header = 0 int类型,0代表第一列名,若设定为None将使用数值列名 names = []...02 读取指定和指定列 使用参数usecol和nrows读取指定的列和前n,这样可以加快数据读取速度。读取原数据的两列、两示例如下。...在数据sample.csv中,“小青”的分数中有的取值为99999,这里令其读取为缺失,操作如下: csv = pd.read_csv('data/sample.csv',

99720

Pandas个人操作练习(1)创建dataframe及插入列、操作

使用pandas之前要导入包: import numpy as np import pandas as pd import random #其中有用到random函数,所以导入 一、dataframe...(data,index=index) (3)可以看出像列名‘att’等对应的都是一个list的形式,为例填充这些列名对应的,首先要把的形式定义好,形成list #随机生成3000个test号 #random.sample...关键点是axis=1,指明是列的拼接 三、dataframe插入行 插入行数据,前提是要插入的这一的个数能与dataframe中的列数对应且列名相同,思路:先切割,再拼接。...: insertRow2_index = df4[df4.Bool == 3].index.tolist() .根据索引获取这两: insertRow2 = [] for x in insertRow2..._index: #注意.values的使用,只获取值,不带列名 insertRow2.append(df4.loc[x].values) insertRow22 = pd.DataFrame

1.8K20

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

有很多种实现的途径,我最喜欢的方式是传一个字典给DataFrame constructor,其中字典中的keys为列名,values为列的取值。 ?...按多个文件中构建DataFrame 假设你的数据集分化为多个文件,但是你需要将这些数据集读到一个DataFrame中。 举例来说,我有一些关于股票的小数聚集,每个数据集为单天的CSV文件。...为了避免这种情况,我们需要告诉concat()函数来忽略索引,使用默认的整数索引: ? 10. 按列多个文件中构建DataFrame 上一个技巧对于数据集中每个文件包含记录很有用。...需要注意的是,这个方法在索引唯一的情况下不起作用。 读者注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。...注意,这并没有修改基础的数据类型,只是修改了数据的显示结果。 你也可以重置任何一个选项为其默认: ? 对于其它的选项也是类似的使用方法。 25.

3.2K10
领券