Pandas数据结构 Series Series是一维的数据结构。...'> print(ser_obj.index) # RangeIndex(start=0, stop=5, step=1) pandas.core.indexes.range.RangeIndex...'> RangeIndex(start=0, stop=5, step=1) 注意索引对象不可变 # 索引对象不可变 ser_obj.index[0] = 2 ---------------------...print(ser_obj.head(3)) 0 10 1 11 2 12 dtype: int32 通过索引获取数据 print(ser_obj[0]) # 10 10 索引与数据的对应关系仍保持在数组运算的结果中...print(ser_obj[0]) # 10 # 索引与数据的对应关系仍保持在数组运算的结果中 print(ser_obj > 12) print(ser_obj[ser_obj > 12]) <class
安装并使用PandasPandas对象简介Pandas的Series对象Series是广义的Numpy数组Series是特殊的字典创建Series对象Pandas的DataFrame对象DataFrame...先来看看Pandas三个基本的数据结构: Series DataFrame Index Pandas的Series对象 Pandas的Series对象是一个带索引数据构成的一维数组,可以用一个数组创建Series...RangeIndex(start=0, stop=4, step=1) data[1] 0.5 data[1:3] 1 0.50 2 0.75 dtype: float64 可以看出Pandas...Numpy数组相似的属性 print(ind.size, ind.shape, ind.ndim, ind.dtype) 5 (5,) 1 int64 Index对象的索引是不可逆的,也就是说不能通过赋值的方法进行调整...: Index does not support mutable operations Index 对象的不可变特征使得多个DataFrame 和数组之间进行索引共享时更加安全,尤其是可以避免因修改索引时粗心大意而导致的副作用
,在 pandas 中,元组和列表在索引时并非被处理相同。...`RangeIndex` 是 `Index` 的子类,为所有 `DataFrame` 和 `Series` 对象提供默认索引。...start=0, stop=2, step=1) 一个 RangeIndex 的行为类似于一个具有 int64 数据类型的 Index,对 RangeIndex 进行操作,其结果无法由 RangeIndex...RangeIndex是DataFrame和Series对象的默认索引的子类。...然后,我们将.categories 的值作为后续对 cut() 的调用中的 bins 参数传递,提供新的数据,这些数据将被分配到相同的区间中。
索引对象Index Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(df_obj2.index))...print(df_obj2.index) 运行结果: pandas.indexes.range.RangeIndex'> pandas.indexes.numeric.Int64Index...'> Int64Index([0, 1, 2, 3], dtype='int64') 索引对象不可变,保证了数据的安全 示例代码: # 索引对象不可变 df_obj2.index[0] = 2 运行结果...ser_obj['b']) print(ser_obj[2]) 运行结果: 1 2 切片索引 ser_obj[2:4], ser_obj[‘label1’: ’label3’] 注意,按索引名切片操作时,...是包含终止索引的。
创建一个 MultiIndex(层次化索引)对象 MultiIndex对象是标准Index对象的分层类比,通常在 pandas 对象中存储轴标签。...你不需要指定所有更深层的级别,它们将被隐含为slice(None)。 与往常一样,切片器的两侧都包含在内,因为这是标签索引。 警告 在.loc指定器中应指定所有轴,即索引和列的索引器。...=2, step=1) RangeIndex的行为类似于具有int64 dtype 的Index,对RangeIndex的操作,其结果无法由RangeIndex表示,但应具有整数 dtype,将转换为具有...创建一个 MultiIndex(层次化索引)对象 MultiIndex对象是标准Index对象的分层类比,通常在 pandas 对象中存储轴标签。...MultiIndex对象是标准Index对象的分层类比,通常在 pandas 对象中存储轴标签。
type(index) # pandas.core.indexes.range.RangeIndex out[8]: pandas.core.indexes.range.RangeIndex...调用Series方法 准备 in[23]: # 查看Series所有不重复的指令 s_attr_methods = set(dir(pd.Series)) # 该集合的大小...# actor_1_fb_likes有多少非空值 actor_1_fb_likes.count() out[35]: 4909 in[36]: # actor_1_fb_likes的中位分位数...In[72]: a = type(1) In[73]: type(a) Out[73]: type # a是pandas.core.series.Series对象 In[74]: a = type...imdb_score', 'aspect_ratio', 'movie_facebook_likes', 'has_seen'], dtype='object') # 给新列赋值
引言 pandas中的read_html()函数是将HTML的表格转换为DataFrame的一种快速方便的方法,这个函数对于快速合并来自不同网页上的表格非常有用。...在合并时,不需要用爬虫获取站点的HTML。但是,在分析数据之前,数据的清理和格式化可能会遇到一些问题。...在本文中,我将讨论如何使用pandas的read_html()来读取和清理来自维基百科的多个HTML表格,以便对它们做进一步的数值分析。 基本方法 在第一个例子中,我们将尝试解析一个表格。...applymap函数是一个非常低效的pandas函数,不推荐你经常使用它。但在本例中,DataFrame很小,像这样的清理又很棘手,所以我认为这是一个有用的权衡。...解决此问题的方法有多种,在这里还是继续使用clean_normalize_whitespace()函数,将列转换为Series对象,并使用apply来调用这个函数。
本文介绍pandas的基本数据类型,要熟练使用pandas,需要熟悉它的两种主要数据结构:Series和DataFrame 1.Series Series 形如于一维矩阵的对象,通常用来存储一列数值,其包含数值列...因为没有在生成Series的时候设置index列,所以pandas会创建由0到N-1的默认索引(N为数据长度) 此时可以分别values和index属性,如下: obj.values array([...无法满足使用时,我们生成Series时可以同时设置index列,比如: obj2 = pd.Series([4, 7, -5, 3], index=['b', 'b', 'a', 'c']) obj2..."California"为index中新出现的值,且不在原始dict中,因此对应的value为NaN。...为pandas中最重要的数据结构,它的格式等同于我们要处理的矩形表格:拥有多列,每列可以有不同类型的数据,拥有列名,行、列索引等...
正是通过这两个强大的数据结构和基于它们建立的各种操作,才使得Pandas称霸数据处理领域工具库,关于这篇请参考: 玩转Pandas,让数据处理更easy系列1 02 DataFrame结构剖析 因为DataFrame...['D'] = 10 # 直接这样写更精简,但是默认必须为添加列标签 ?...04 DataFrame删除某列或某行 删除DataFrame的某行或某列,调用drop(),参数是标签值,如下: 现在的pd_data: ?...删除'E'列,ok, 调用 drop('E',axis=1),axis参数必须给出!...pd_data = pd_data.drop('E',axis=1) #注意必须赋值给pd_data,因为这不是in-place drop ?
的数据结构 import pandas as pd Pandas有两个最主要也是最重要的数据结构: Series 和 DataFrame Series Series是一种类似于一维数组的 对象...类似多维数组/表格数据 (如,excel, R中的data.frame) 每列数据可以是不同的类型 索引包括列索引和行索引 1....的索引操作 索引对象Index 1.Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(df_obj2....index)) print(df_obj2.index) 运行结果: pandas.indexes.range.RangeIndex'> pandas.indexes.numeric.Int64Index...切片索引 ser_obj[2:4], ser_obj[‘label1’: ’label3’] 注意,按索引名切片操作时,是包含终止索引的。
Index和RangeIndex对象非常相似,实际上,pandas 具有许多专门为索引或列保留的相似对象。 索引和列都必须都是某种Index对象。 本质上,索引和列表示同一事物,但沿不同的轴。...在使用步骤 1 中的索引运算符后,尝试链接操作时,智能将无法工作,但将继续使用步骤 2 中的点符号。下面的屏幕快照显示了在选择了索引之后的弹出窗口。director_name带点符号。...特殊方法是对象在遇到运算符时在内部调用的方法。 特殊方法在 Python 数据模型中定义,这是官方文档中非常重要的一部分,并且对于整个语言中的每个对象都是相同的。...如果仔细观察,您会发现步骤 3 的输出缺少步骤 2 的所有对象列。其原因是对象列中缺少值,而 pandas 不知道如何处理字符串值与缺失值。 它会静默删除无法为其计算最小值的所有列。...尝试调用明显没有字符串解释的方法,例如查找均值或方差,将无法正常工作。
前言 上一期介绍了将文件加载到Pandas对象,这个对象就是Pandas的数据结构。本次我们就来系统介绍一下Pandas的数据结构。 本文框架 1. 数据结构简介 2....DataFrame:代表整个表格对象,是一个二维的数据,有多行和多列; Series:每一列或者每一行都是一个Series,他是一个一维的数据(图中红框)。 2....d":4} s3 = pd.Series(sdata) s3 # 输出结果 a 1 b 2 c 3 d 4 dtype: int64 3.4 根据标签索引查询数据 查询一个值时返回值为一个数值...,查询多个值时返回Series对象。...从DataFrame中查询出Series 如果只查询一行、一列,返回的是pd.Series; 如果查询多行、多列,返回的是pd.DataFrame。
在最基本的层面上,Pandas 对象可以认为是 NumPy 结构化数组的增强版本,其中行和列用标签而不是简单的整数索引来标识。...values只是一个熟悉的 NumPy 数组: data.values # array([ 0.25, 0.5 , 0.75, 1. ]) index是类型为pd.Index的数组式对象,我们将在稍后详细讨论...本质区别在于索引的存在:虽然 Numpy 数组拥有隐式定义的整数索引,用于访问值,Pandas Series拥有显式定义的索引,与值关联。 这个显式索引的定义,为Series对象提供了额外的功能。...我们将在“数据索引和选择”中,探索更灵活的索引DataFrame的方法。 构造DataFrame对象 Pandas DataFrame可以通过多种方式构建。这里我们举几个例子。...这个Index对象本身就是一个有趣的结构,它可以认为是不可变数组或有序集合(技术上是一个多值集合,因为Index对象可能包含重复的值)。 这些观点在Index对象所提供的操作中,有一些有趣的结果。
使用type()函数打印数据的类型,数据类型为Series。从csv文件中读取出来的数据是DataFrame数据,取其中的一列,数据是一个Series数据。...'> 实例化一个Pandas中的Series类对象,即可创建出一个Series数据。...关于索引还需要注意,Pandas中的索引值是可以重复的,当然最好不要设置重复,避免在进行一些索引不可重复的操作时出现错误。 2....'> 实例化一个Pandas中的DataFrame类对象,即可创建出一个DataFrame数据。...在调用reset_index()时,要将drop参数设置为True,否则Pandas不会删除前面设置的行索引,而是将设置的行索引移动到数据中,使数据变成两列,这样数据就变成了DataFrame,而不再是
虽然 DataFrame 是以二维结构保存数据的,但你仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是 pandas中许多高级数据处理功能的关键要素 ) 创建 DataFrame 的办法有很多...,可以将 DataFrame 的列获取为一个 Series,代码示例: frame2['state'] frame2.state 列可以通过赋值的方式进行修改,赋值方式类似 Series。...例如,我们可以给那个空的 “debt” 列赋上一个标量值或一组值(数组或列表形式),代码示例: frame2.debt = np.arange(6.) frame2 注意:将列表或数组赋值给某个列时,...two', 'four','five']) frame2.debt = val frame2 为不存在的列赋值会创建出一个新列。...库的基本结构的一些特性,如何创建 pandas 对象、指定 columns 和 index 创建 Series 和 DataFrame 对象、赋值操作、属性获取、索引对象等,这章介绍操作 Series
安装非常方便: pip install pandas-illustrated 索引 负责通过标签获取系列元素(以及DataFrame的行和列)的对象被称为索引。...默认情况下,当创建一个没有索引参数的Series(或DataFrame)时,它初始化为一个类似于Python的range()的惰性对象。...从原理上讲,如下图所示: 一般来说,需要保持索引值的唯一性。例如,在索引中存在重复的值时,查询速度的提升并不会提升。...在Pandas中,它被称为MultiIndex(第4部分),索引内的每一列都被称为level。 索引的另一个重要特性是它是不可改变的。与DataFrame中的普通列相比,你不能就地修改它。...Pandas有df.insert方法,但它只能将列(而不是行)插入到数据框架中(而且对序列根本不起作用)。
上一篇总结了Python数据处理包Pandas的DataFrame,介绍了Axes相关的属性和方法。文章的图形展示效果不是很友好,再换一种形式。 同时继续总结,数据框的访问相关的属性和方法。...In [6]: df.index # 展示行索引Out[6]: RangeIndex(start=0, stop=3, step=1) In [7]: df.columns # 展示列索引Out[...7]: RangeIndex(start=0, stop=3, step=1) In [8]: df.columns=['id','nickname','register'] # 为列索引重新赋值 In...2019-04-131 3 lg 2019-04-142 5 jh 2019-04-15 In [10]: df.index=['p1','p2','p3'] # 为行索引重新赋值...(如为int,或者object)筛选数据Out[15]: idp1 1p2 3p3 5 整个数据框相关,沿着两个轴的数据统计 In [16]: df.values # 返回NumPy
2.Pandas的两种常用数据结构 类型 注释 Series 系列 DataFrame 数据框 使用前需要将pandas 模块引入 from pandas import Series, DataFrame...import pandas as pd 3.Series系列 类似一维数组(ndarray)的对象,由一组数据(各种NumPy数据类型)以及与之相关的数据标签(索引)组成,用于存储一行或一列数据。...index A 0 张三 1 李四 2 王五 Series对象本质上是NumPy的数组,因此NumPy的数组处理函数可以直接对Series使用。...每个Series对象都由两个数组组成: index:从NumPy数组继承的Index对象,保存标签信息。 values:保存值的NumPy数组。...#不允许追加单个值,只允许追加一个Series x.append('2') TypeError: cannot concatenate a non-NDFrame object n = Series(
# 查看可以调用的方法 In [4]: pd?...我们可以简单地将 Pandas 对象理解为 Numpy 数组的增强版本,其中行与列可以通过标签进行识别,而不仅是简单的数字索引。Pandas 为这些基本数据结构提供了一系列有用的工具与方法。...属性则是一个类数组的对象,类型为 pd.Index,将在之后进行介绍: In[4]: data.index Out[4]: RangeIndex(start=0, stop=4, step=1) 和...2.3 Index 对象 在 Series 对象与 DataFrame 对象中,都包含由于查找与修改数据的「索引」(index),其结构为一个 Index 对象。...,Index 对象与 Numpy 数组的区别在于其是不可变的(类似列表与元组的区别),我们不能对索引进行修改: In[34]: ind[1] = 0 TypeError: Index does not
pandas库是python中几乎最长使用的库,其功能非常多。...这里只记录下pandas对Excel文件的简单操作;pandas介绍Pandas是xlwt,xlrd库的封装库,拥有更全面的操作对象,csv,excel,dataframe等等。...简单入门:导入pandas> import pandas as pdpandas中最重要的类型DataFrame的介绍:DataFrame 是 Pandas 中的一种抽象数据对象(表格类型),Excel...中的数据都可以转换为 DataFrame 对象。...names: 默认为None,要使用的列名列表,如不包含标题行,应显示传递header=None index_col: 指定某一列作为,为索引列 usecols: 读取固定的列,usecols
领取专属 10元无门槛券
手把手带您无忧上云