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

数据科学 IPython 笔记本 7.4 Pandas 对象介绍

values只是一个熟悉 NumPy 数组: data.values # array([ 0.25, 0.5 , 0.75, 1. ]) index是类型pd.Index数组式对象,我们将在稍后详细讨论...本质区别在于索引存在:虽然 Numpy 数组拥有隐式定义整数索引,用于访问值,Pandas Series拥有显式定义索引,与值关联。 这个显式索引定义,Series对象提供了额外功能。...从这里开始,我们可以执行典型字典式项目访问: population['California'] # 38332521 但是,与字典不同,Series也支持数组式操作,例如切片: population...”中讨论 Pandas 索引切片一些怪异之处。...例如,我们可以使用标准 Python 索引表示法来检索值或切片: ind[1] # 3 ind[::2] # Int64Index([2, 5, 11], dtype='int64') `Index

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

Pandas 实践手册(一)

我们可以简单地将 Pandas 对象理解 Numpy 数组增强版本,其中行与列可以通过标签进行识别,而不仅是简单数字索引。Pandas 这些基本数据结构提供了一系列有用工具与方法。...两者关键区别在于:Numpy 数组使用「隐式定义」数值索引来访问值,而 Series 对象则使用「明确」定义索引来访问值。...字典是一种将任意键映射到任意值上数据结构,而 Series 则是将包含类型信息键映射到包含类型信息值上数据结构。「类型信息」可以为 Series 提供比普通字典更高效操作。...我们可以像字典一样通过索引访问值,也可以使用字典不支持切片操作(注意此处切片会包含尾部): In[12]: population['California'] Out[12]: 38332521 In...数组区别在于其是不可变(类似列表与元组区别),我们不能对索引进行修改: In[34]: ind[1] = 0 TypeError: Index does not support mutable operations

2K10

2022年最新Python大数据之Python基础【六】函数与变量

list str 可以使用切片 dict set 不可以使用切片 # 切片:通过切片方法可以按照一定规则截取容器一部分数据 # str切片 str1 = 'abcde' # 格式:[起始位置:终止位置...肯定不行,因为不能使用索引获取数据 # set 可以切片么?...肯定不行,因为不能使用索引获取数据 # 结论: # 1.list str tuple 可以使用切片,格式是:[起始位置:终止位置:步长],三者使用方式完全一致 # 2.所有的切片都不会在原有的数据上进行修改...,而是产生一个新数据序列 # 3.集合和字典无法切片,因为不能使用索引获取数据元素 2、公共函数 len :获取容器内元素个数 del:删除容器内元素 max :获取容器内数据最大值 min : 获取容器内元素最小值...注意 :str内部元素也是不可修改,类似于元组 # del str1[0] # print(str1) # 结论: # 1.列表,字典可以使用del删除内部元素,但是,列表中是删除元素,字典中是删除键值

1.2K20

2.Pandas数据结构SeriesDataFrame3.Pandas索引操作索引对象IndexSeries索引DataFrame索引高级索引:标签

,由一组数据(各种NumPy数据类型)以及一组与之对应索引(数据标签)组成。...类似多维数组/表格数据 (如,excel, R中data.frame) 每列数据可以是不同类型 索引包括列索引和行索引 1....切片索引 ser_obj[2:4], ser_obj[‘label1’: ’label3’] 注意,按索引切片操作时,是包含终止索引。...:标签、位置和混合 Pandas高级索引有3种 1. loc 标签索引 DataFrame 不能直接切片,可以通过loc来做切片 loc是基于标签名索引,也就是我们自定义索引名 示例代码...,又可以使用自定义索引,要视情况不同来使用, 如果索引既有数字又有英文,那么这种方式是不建议使用,容易导致定位混乱。

3.8K20

Python进阶:自定义对象实现切片功能

切片是 Python 中最迷人最强大最 Amazing 语言特性(几乎没有之一),在《Python进阶:切片误区与高级用法》中,我介绍了切片基础用法、高级用法以及一些使用误区。...概括翻译一下:__getitem__() 方法用于返回参数 key 所对应值,这个 key 可以是整型数值和切片对象,并且支持负数索引;如果 key 不是以上两种类型,就会抛 TypeError;如果索引越界...TypeError: list indices must be integers or slices, not str 从输出结果来看,自定义 MyList 既支持按索引查找,也支持切片操作,这正是我们目的...TypeError 上例关键点在于将字典键值取出,并键值列表做切片处理,其妙处在于,不用担心索引越界和负数索引,将字典切片转换成了字典键值切片,最终实现目的。...4、小结 本文介绍了__getitem__()魔术方法,并用于实现自定义对象(以列表类型和字典类型例)切片功能,希望你有所帮助。

95950

Python进阶:全面解读高级特性之切片

首先是切片书写形式:[i : i+n : m] ;其中,i 是切片起始索引值,列表首位时可省略;i+n 是切片结束位置,列表末位时可省略;m 可以不提供,默认值是1,不允许0 ,当m负数时...概括翻译一下:__getitem__() 方法用于返回参数 key 所对应值,这个 key 可以是整型数值和切片对象,并且支持负数索引;如果 key 不是以上两种类型,就会抛 TypeError;如果索引越界...TypeError 上例关键点在于将字典键值取出,并键值列表做切片处理,其妙处在于,不用担心索引越界和负数索引,将字典切片转换成了字典键值切片,最终实现目的。...首先,迭代器使用是消耗型遍历,这意味着它充满不确定性,即其长度与索引键值是动态衰减,所以很难 get 到它 item ,也就不再需要 __getitem__ 属性了。...除此之外,切片还有更广阔多样使用场景,例如 Numpy 多维切片、内存视图切片、异步迭代切片等等,都值得我们去探索一番,今限于篇幅而无法细说,欢迎关注公众号“Python猫 ”,以后我们慢慢学习之

90840

python基础教程:元组

元组x前两个元素'a',1都是不可变,而第三个元素是list,这个列表是可以改变,但不能把第三个元素赋值其它列表(上面示例中最后一个操作)或其它任何类型数据。 ?...元组(元组)切片切片) 元组切片跟列表也是一样 In [27]: mytuple[1:3] Out[27]: ['b', 3] In [28]: mytuple[:3] Out[28]: ['...我们就不能像列表那样,使用del来删除元型态组元素。...: '<' not supported between instances of 'str' and 'int' (4)sum() 计算元组所有元素和,其元素类型必须是数值型(整数,浮点数) In...,它方法也比列表少了很多,只有两个: index(v)返回第一个值v元素索引; count(v)返回值v元素个数。

73850

Pandas

对于Series,其实我们可以认为它是一个长度固定且有序字典,因为它索引和数据是按位置进行匹配,像我们会使用字典上下文,就肯定也会使用Series 2.2缺失值处理 dropna() 过滤掉值...,所以最终运行会发现b索引对应无法运算,就返回了NaN,一个缺失值 将两个Series对象相加时将缺失值设为0: sr1 = pd.Series([12,23,34], index=['c','a...DataFrame同样可以通过标签和位置两种方法进行索引切片。 DataFrame使用索引切片: 方法1:两个中括号,先取列再取行。...loc属性:解释标签 iloc属性:解释下标 向DataFrame对象中写入值时只使用方法2 行/列索引部分可以是常规索引切片、布尔值索引、花式索引任意搭配。...接下来,就a1分组并且使用apply调用该函数: a1.groupby('Nation').apply(top) ?

1.5K11

2022年最新Python大数据之Python基础【四】

,无法修改其字符串格式,必须使用转义字符\n \t等 str1 = 'hello ' \ 'world' print(str1) # 在三引号内进行手动换行,可以在打印时输出换行格式..., 负数索引,从-1开始从右至左依次递减 # 需求:使用负数索引取 m print(str1[-2]) print(str1[-4]) 4、字符串切片 字符串切片就是讲字符串中一部分数据按照指定规则进行分隔得到字符串...,如果步长负,则起始位置在终止位置右侧 # 切片:就是按照一定索引位置和步长将字符串分割出一部分就是切片 # 切片格式:数据序列[起始位置索引:结束位置索引:步长] 字符串,列表,元组,都可以进行切片...str1 = 'itheima' # 需求:将the切片出来 # 字符串切片以及其他容器类型切片操作,都会重新生成一个新数据序列,不会对原有数据序列产生影响 str2 = str1[1:4:1]...)) # I❤love❤Python❤and❤java❤and❤c❤and❤lixiaolong # 进行join合并时,要注意可迭代类型中全部元素都要是字符串类型,否则无法合并 print('❤'.

1.7K20

python基础教程:list(列表)

列表元素可以是任何类型,但使用时通常各个元素类型是相同。...但有时候我们要取列表一个片段,这就是“切片”操作。切片返回是一个列表,可以理解“子列表”。...切片是通过索引来实现,比如: list_a[1:3],这里索引变成两个用冒号:分隔,分别是切片开始索引和结束索引,[1:3]代表是一个左开右闭区间,即包含左边索引元素,到右边索引为止但不包括该元素...: '<' not supported between instances of 'str' and 'int' (4)sum() 计算列表所有元素和,其元素类型必须是数值型(整数、浮点数) In...函数: 是一系列语句集合,调用后可以返回一个或一些值。可以给它传递0个或多个参数,这些参数可能被用于函数内部执行过程。 方法: 就是定义在类内部函数。很明显,方法是与某个对象关联

91320

《Python完全自学教程》免费在线连载4.2.6

4.3.1 基础知识 列表基础知识内容与字符串类似,包括创建方法、索引切片、基本操作、常用方法等(这几项也是所有 Python 序列类对象都要学习内容)。...,引用空列表变量命名为 lst ,非常不推荐使用 list ——变量名称要尽可能不与类型名称重复(参阅第2章2.3.2节)。...,内置函数 list() 另外作用就是将其他对象类型转换为列表(此时请读者温习 int() 、float() 、str() 作用)。...切片 列表索引如同4.2.4节,切片就毫无疑问如同4.2.5节了。是的,毋庸置疑。 进入到 Python 交互模式,按照下面的示例,练习列表切片操作——本质是复习。...File "", line 1, in TypeError: 'str' object does not support item assignment 这就显示了列表和字符串最大区别

31910

Python 切片操作

前言在刚学python时候,我们都知道字符串(String)、列表(list)和元组(tuple)序列化数据类型支持切片操作。...接下来,我们熟悉切片操作进行系统学习。2. 什么是切片?2.1 切片概述Python 序列数据类型索引从左到右开始是从0开始,依次加+1;诺从右到左索引从-1开始,依次加-1。...例如在列表中要元素2和3,则切片截取LIST[1:3]2.2 忽略最后一位元素在Python中,进行切片操作会不包含最后一位元素,这一风格是与C语言等语言保存以索引位置从0开始做法。...切片原理切片操作是使用方括号 [] 进行运算。其格式 [start:stop:step]。对象在start和stop区间中取出间隔step元素。step可以取负数。...切片赋值将序列进行切片操作后得到切片对象可以进行赋值,但是必须遵循以下条件:切片做为对象,那么等号右边必须是一个可迭代对象即使切片里只有一个值,也要转换成可迭代序列否则的话,系统会抛出TypeError

75930

【Python2】03、Python对象

, 两个对象比较: 1、值比较:对象中数据是否相同 2、身份比较:两个变量名引用是否同一象 3、类型比较:两个对象类型是否相同 In [4]: num1=5 In [5]: num2=5...#b常量,10字面量 string str="hello world";                #str变量,hello world也字面量 数字类型操作 Python使用5种数字类型:...__doc__              #引用函数对象 Out[34]: 'test function' 适用于所有序列操作和方法: s[i]: 索引运算符 s[i:j]切片运算符 s[i:j:stride...]扩展切片运算符 min(s)和max(s)只适用于能够元素排序序列 sum(s)只适用于数字序列  ?...():返回一个迭代,m.next()结果是键值元祖 m.itervalues():返回一个迭代,m.next()结果是值 m.iterkeys():返回一个迭代,m.next()结果是键

1K20

python入门-1-字符串初相识

npython 三、索引切片 索引切片是python中非常重要一个概念,记住几点: 索引左边从0开始,右边从-1开始 切片语法:startstep,step表示步长 3.1索引 使用index(...索引从0开始 str1.index("h") 3 str1.index("n") 5 3.2切片 关于切片总结4点: 标准形式:start:stop:step 含头不含尾:包含start部分,不包含stop...部分 切片时候,索引左边从0开始,右边从-1开始 步长step可正可负 str3 = "learn python" str3 'learn python' # 标准切割 str3[0:4:1] #...] # 步长1,切到索引为10,不包含10 'learn pyth' str3[10:0:-2] # 步长2 'otpna' str3.index("o") # 从索引10o字符开始切割,往前切...Is Python' 总结 字符串在Python中是非常高频使用是一种数据类型,从字符串转化、获取字符串指定中指定内容、字符串切片索引等都是必须掌握知识点,希望本文对读者有所帮助!

19530

Day5.布尔&元组&字符串大合集

-字符串 bool布尔类型 布尔类型取值只有两种情况,表示真假值,即 yes or no python 中布尔值使用常量True 和 False来表示;注意大小写 比较运算符 == 等返回类型就是...#索引、长度、切片、循环 a=(2,3,4,5,'32','你好') a #[2, 3, 4, 5, '32', '你好'] a[4] #元组中第5个元素 #'32' len(a) #元组a长度...', ['数据', 4, 'd', '2'], '32') string字符串 和列表操作类似 切片 索引 特点是不可变性 python中单引号和双引号使用完全相同。...Python 中字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 索引演示: str='DataScience' print(str[1]) #打印该字符串中第一个元素 print(...: 'str' object does not support item assignment Python 没有单独字符类型,一个字符就是长度 1 字符串。

41020

数据分析索引总结(上)Pandas单级索引

和iloc长处在于, 可以同时列和行进行切片 df['Height'].head() 更简洁使用列名标签索引方式 df.Height.head() ④ 多列索引 df.loc[:,['Height...df.iloc[:,4:7].head() 切片方法列名不成立,若使用报错如下: # 以下语句报错 # TypeError: cannot do slice indexing on <class '...但实际上, 使用loc等方法筛选行或者列时候, 都是根据待筛选行或者列给定筛选条件是否真来决定是否返回该行或该列。...df.loc[1102:1102,:] ② 多行索引切片,如果是选取指定某几行,推荐使用loc,否则很可能报错。尽管这种写法可以正确执行,但不推荐。...利用cut将数值列转为区间元素分类变量, 例如统计数学成绩区间情况:使用pd.cut函数进行分割后, 如果没有类型转换,此时并不是区间类型,而是category类型

5K40

Python教程(23)——Python类中常用特殊成员

它定义了当我们一个对象使用内置 str() 函数或 print() 函数进行输出时,应该返回字符串形式表示。简而言之,__str__ 方法用于定制对象字符串输出。...在 __str__ 方法中,我们使用格式化字符串 f-string 将点坐标表示 '(x, y)' 形式。...当我们 p 对象使用 print(p) 和 str(p) 时,会自动调用 __str__ 方法,并返回该方法中定义字符串 (3, 4)。...如果一个类没有定义 __len__ 方法,或者 __len__ 方法返回值不是整数类型,那么调用 len() 函数时会抛出 TypeError 异常。...__getitem__ 方法通常与 __setitem__ 方法一起使用,以支持对象索引切片操作。通过定义这些方法,我们可以使自定义类对象能够像内置容器类型一样进行元素访问和修改。

9410

Python基础之:数字字符串和列表

简介 Python主要应用是进行科学计算,科学计算基础就是数字,字符串和列表。本文将会详细给大家介绍一下这三个数据类型使用情况。...如果索引是负数的话,会从右边开始计数: In [30]: site5[-3] Out[30]: 'c' 因为-0 和 0 是一样,所以负数是从 -1 开始。 除了索引,字符串还支持 切片。...: In [36]: site5[:100] Out[36]: 'www.flydean.com' 因为字符串是不可变,所以我们不能通过索引形式来字符串进行修改: In [37]: site[2]...列表 列表是用方括号表示数据集合。列表中数据可以是多种数据类型,但是一般情况下,我们在一个列表中使用同一个数据类型。...事实上,只要是 sequence 类型数据类型,都支持索引切片

63811
领券