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

开源图书《Python完全自学教程》第5.1.2节

毫无疑问,字典是 “container”,所以可以作为 len() 的参数,并返回字典中的成员数量,即键值对的数量。...键值对的读写 如果从数学角度来理解字典中的“键”和“值”之间的对应关系,可称之为是“映射”,且属于“单射”,即 ,反之不一定成立(关于“映射”的概念,参阅拙作《机器学习数学基础》)。...其实,将“映射”的概念也可以用于列表、元组和字符串,它们的索引和成员之间的对应关系也是映射,且可以认为是“双射”,即“一一对应”。...在序列类对象中,通过索引读取到对应的成员,使用了 [] 符号,既然字典与它们存在上述一样的映射关系,符号 [] 也可用于字典中,通过“键”读取相应的“值”。...对于字典,其成员是键值对,如前所述,键值对是以键作为唯一标识——键不可重复,所以,只要判断键是否在字典中,即可实现成员检测。

82430

不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

譬如这里我们想要得到gender列的F、M转换为女性、男性的新列,可以有以下几种实现方式: 字典映射 这里我们编写F、M与女性、男性之间一一映射的字典,再利用map()方法来得到映射列: #定义F->女性...2.2 apply() apply()堪称pandas中最好用的方法,其使用方式跟map()很像,主要传入的主要参数都是接受输入返回输出。...可以看到,这里返回的是单列结果,每个元素是返回值组成的元组,这时若想直接得到各列分开的结果,需要用到zip(*zipped)来解开元组序列,从而得到分离的多列返回值: a, b = zip(*data.apply...其传入的参数为字典,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作...下面用几个简单的例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1列,所以可以不使用字典的形式传递参数,直接传入函数名列表即可: #求count列的最小值、最大值以及中位数

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

    不再纠结,一文详解pandas中的map、apply、applymap、groupby、agg...

    譬如这里我们想要得到gender列的F、M转换为女性、男性的新列,可以有以下几种实现方式: 字典映射 这里我们编写F、M与女性、男性之间一一映射的字典,再利用map()方法来得到映射列: #定义F->女性...2.2 apply() apply()堪称pandas中最好用的方法,其使用方式跟map()很像,主要传入的主要参数都是接受输入返回输出。...,每个元素是返回值组成的元组,这时若想直接得到各列分开的结果,需要用到zip(*zipped)来解开元组序列,从而得到分离的多列返回值: a, b = zip(*data.apply(lambda row...其传入的参数为字典,键为变量名,值为对应的聚合函数字符串,譬如{'v1':['sum','mean'], 'v2':['median','max','min]}就代表对数据框中的v1列进行求和、均值操作...下面用几个简单的例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1列,所以可以不使用字典的形式传递参数,直接传入函数名列表即可: #求count列的最小值、最大值以及中位数

    5.9K31

    Pandas 实践手册(一)

    安装完成后,我们可以导入 pandas 并查看其版本: In[1]: import pandas pandas....字典是一种将任意的键映射到任意的值上的数据结构,而 Series 则是将包含类型信息的键映射到包含类型信息的值上的数据结构。「类型信息」可以为 Series 提供比普通字典更高效的操作。...2.2.2 DataFrame 作为特殊的字典 我们也可以将 DataFrame 对象看作一种特殊的字典,其将一个「列名」映射到一个 Series 对象上。...Index 对象与 Numpy 数组的区别在于其是不可变的(类似列表与元组的区别),我们不能对索引进行修改: In[34]: ind[1] = 0 TypeError: Index does not support...2.3.2 Index 作为有序集合 Pandas 对象的设计初衷之一是便于执行数据集之间的连接这样的操作。

    2K10

    【Python】从C++Java到Python入门(2)

    接下来从元组开始继续写。 元组 1.元组(tuple)类似于列表(list),但是其元素不可修改,所以相比列表有更好的安全性。...字典 1.字典(dictionary)在C中感觉没有很好的对应,应该是比较接近于结构体(struct),而Java中本身就有字典,不过目前已经被映射(Map)取代 2....由于键需要不可变,所以键只能由字符串,数字或元组承担 4.访问字典中值的方法是 字典名[键名] 5.虽然访问不存在的键是会报错的,但是如果给字典中不存在的键赋值的话却可以很方便的自动添加新的键值对...集合 1.Java中也有集合(set),在此是指无序不重复的序列,定义方法也是大括号,可以理解为没有键值的字典。也可以当作元素不能重复的列表来使用。...效果是表示到最后这里的参数数量是可变的,多个参数最终会组合成一个元组进入函数 6.类似上一条,最后一个参数前面加两个星号(**)会以字典导入不定量的参数,此时在使用的时候需要用等号连接键值对

    1.2K20

    Pandas最详细教程来了!

    Pandas具有NumPy的ndarray所不具有的很多功能,比如集成时间序列、按轴对齐数据、处理缺失数据等常用功能。Pandas最初是针对金融分析而开发的,所以很适合用于量化投资。...DataFrame既有行索引也有列索引,这两种索引在DataFrame的实现上,本质上是一样的。但在使用的时候,往往是将列索引作为区分不同数据的标签。...下文列出了DataFrame函数常用的参数。其中,“类似列表”代表类似列表的形式,比如列表、元组、ndarray等。一般来说,data、index、columns这三个参数的使用频率是最高的。...可以传给DataFrame构造器的数据: 二维ndarray:可以自行指定索引和列标签 嵌套列表或者元组:类似于二维ndarray 数据、列表或元组组成的字典:每个序列变成一列。...所有序列长度必须相同 由Series组成的字典:每个Series会成为一列。

    3.2K11

    python3内置函数详解

    接收.py文件或字符串作为传入参数,将其编译成python字节码 eval()    # 执行python代码,并返回其执行结果。...()  # 接收对象作为参数,更详细地返回该对象的所有属性和方法 divmod(100,10)  # 返回一个元组(10,0),第一个元素的100/10的商,第二个元素的100/10的余数  enumerate...注意filter返回的是一个filter对象,实际应用中往往需要用list或tuple将其转换为列表或元组类型....,如果是返回True,否则返回False len('string')  # 返回字符串长度,在python3中以字符为单位,在python2中以字节为单位 max()  #接收序列化类型数据,返回其中值最大的元素...注意与对象的sort方法区别,后者是就地改变对象 slice()  #对序列化类型数据切片,返回一个新的对象。

    77430

    python集合常用方法

    元组的元素无法修改;元组的元素的元素可以修改 新建:tuple = () or tuple1 = (1,2,3) or tuple2 = (1,[1,2],3) 增:不能 删:不能 改:不能  tuple1...:dict.has_key(key) 列表形式返回字典的键or值:dict.keys() or dict.values() 列表形式返回字典的(key,value)元祖:dict.items() 四、set...L1中的值; array中通过下标范围获取新列表arr2=arr1[0:2],arr1和arr2共享变量空间,修改arr2中值时arr1中的值也改变; 2、多维数组 arr[axis1...数组中所有元素取平方,arr>10 数组中元素大于10对应位置返回True,否则返回False;  2、对某一坐标方向运算 如:arr1.sum(axis=0),axis.min(axis=0),实际使用时...但是,用arr表示时,其空间结构不直接、明了;当然若果是直接由实际数据映射过来的,想对哪个维度操作直接选择对应维度的axis就行。如果只是观察到了多维arr,则需要变换下思维。

    88310

    Python 的数据结构

    、集合和字典推导式 7 Python可变对象与不可变对象 8 参考资料 Python 处理大数据集可以借助 Python 内置数据结构:列表、元组、字典 、 集合等,但是一般要和 pandas 和 Numpy...使用tuple函数可以将任意序列或迭代器转换为元组: 元组使用方法总结如下: tuple函数可以将任意序列或迭代器转换为元组; 可以用方括号访问元组中的元素。...): # do something with value 索引数据时,使用 enumerate 的一个好方法是计算序列(唯一的)dict 映射到位置的值: # 索引数据时,使用enumerate...而这里 key 参数对应的 lambda 表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作 key=lambda item:item[0] 的话则是选取第一个元素作为比较对象,也就是key值作为比较对象...它更为常见的名字是哈希映射或关联数组。它是键值对的大小可变集合,键和键值都是 Python 对象。创建字典的方法之一是使用尖括号,用冒号分割键和键值。

    3.2K20

    Python基本数据类型

    列表、元组、字符串都是序列。 二、各种数据类型详解 2.1、数字 数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。...字典类型和序列类型容器类(列表、元组) 的区 别是存储和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始起按数值顺序 索引) 。映射类型可以用其他对象类型做键,一般最常见的是用字符串做键。...但因为在映射类型中,我们不 再用“序列化排序”的键,所以映像类型中的数据是无序排列的 映射类型不要求用数字值做索引以从一个容器中 获取对应的数据项。...你可以用键直接“映射”到值,这就是为什么叫映射类型(“mapping type”) 的原因。映射类型通常被称做哈希表,是因为字典对象就是哈希类型的。字典是 Python中最强大的数据类型之一。...字典常见的操作有:字典创建、字典赋值、字典中值的访问、字典更新、字典元素删除等操作。

    77520

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

    1).count() 使用函数分组 比起使用字典或Series,使用Python函数是一种更原生的方法定义分组映射。...如果不想接收GroupBy自动给出的那些列名,那么如果传入的是一个由(name,function)元组组成的列表,则各元组的第一个元素就会用作DataFrame的列名(可以将这种二元元组列表看做一个有序映射...具体的办法是向agg传入一个从列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 返回不含行索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引...其中参数index指定“行”键,columns指定“列”键。 Pandas是一个强大的数据分析工具,而pivot()函数是Pandas中的一个重要函数,用于数据透视操作。...关键技术: crosstab的前两个参数可以是数组或Series,或是数组列表。 五、数据采样 resample()是pandas库中用于时间序列数据重采样的一个方法。

    8910

    NumPy和数组

    这个在进行这个数组的创建的时候,需要去调用相应的函数np.array()函数,这个函数的参数可以是列表,元组等数据结构;下面的这个案例传递进去的参数就是一个二维数组; # TODO 使用import导入...numpy,并使用"np"作为该模块的简写 import numpy as np # TODO 将题目中的序列作为参数传入np.array()函数中,并将生成的二维数组赋值给变量arr arr=np.array...5] [20 10]] print(arrOne+arrTwo) 5.Pandas模块 (1)下面展示的就是一个简单的字典,字典有索引,我们上面介绍的数组是可以进行计算的,有没有什么既可以使用索引,...(2)实际上这个series序列和字典就是类似的,因为这个都是有索引和对应的数值的; 唯一不同的就是,这个字典里面的东西是没有顺序的,但是这个series里面的东西是有顺序的,我们既可以是使用索引找到对应的数值...info这个Series print(info) (5)常量作为函数的参数 我们先导入模块,传递的参数就是常量数组,第一个参数是打印出来的数值,第二个参数就是索引 # 导入pandas模块,简称pd

    5400

    python导入excel数据画散点图_excel折线图怎么做一条线

    scatter绘制散点图并设置其样式 1)绘制单个点,使用函数scatter,并向它传递x,y坐标,并可使用参数s指定点的大小 plt.scatter(2,4,s=20) 2)绘制一系列点,向scatter...5)向scatter传递参数c,指定要使用的颜色 可使用颜色名称,或者使用RGB颜色模式自定义颜色,元组中包含三个0~1之间的小数值,分别表示红绿蓝颜色分量。...plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor=’none’,s=20)为由浅蓝色组成的散点图 6)使用颜色映射 颜色映射是一系列颜色,它们从起始颜色渐变到结束颜色...c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。...excel 行号作为 x 值的列表 用range()函数来创建一个列表 [1,24) range()函数 遍历数字序列 ''' x = list(range(1,len(df)+1)) #[1,24)

    1.2K20

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

    Python作为一种高效、简洁且易于学习的编程语言,在数据分析领域展现出了强大的实力。本文将介绍如何使用Python进行数据分类汇总与统计,帮助读者更好地理解和应用数据。...使用函数分组 比起使用字典或Series,使用Python函数是一种更原生的方法定义分组映射。 【例6】以上一小节的DataFrame为例,使用len函数计算一个字符串的长度,并用其进行分组。...如果不想接收GroupBy自动给出的那些列名,那么如果传入的是一个由(name,function)元组组成的列表,则各元组的第一个元素就会用作DataFrame的列名(可以将这种二元元组列表看做一个有序映射...具体的办法是向agg传入一个从列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 2.3.返回不含行索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引...五、数据采样 Pandas中的resample()是一个对常规时间序列数据重新采样和频率转换的便捷的方法,可 以对原样本重新处理,其语法格式如下: resample(rule, how=None,

    82910

    Python数据结构——字典

    在Python中,字典是属于映射类型的数据结构。字典包含以任意类型的数据结构作为元素的集合,同时各元素都具有与之对应且唯一的键,字典主要通过键来访问对应的元素。...字典与列表、元组有所不同,后两者使用索引来对应元素,而字典的元素都拥有各自的键,每个键值对都可以看成是一个映射对应关系。此外,元素在字典中没有严格的顺序关系。...Python中的dict函数的作用实质上主要是将包含双值子序列的序列对象转换为字典类型,其中各双值子序列中的第1个元素作为字典的键,第2个元素作为对应的值,即双值子序列中包含了键值对信息。...将字典中的键和值组织成双值子序列,然后将这些双值子序列组成序列,例如组成元组(['name','Lily'],('age',18),'ab'),再传入dict函数中,即可转换为字典类型,得到字典对象。...四、提取字典元素 与序列类型不同,字典作为映射类型数据结构,并没有索引的概念,也没有切片操作等处理方法,字典中只有键和值对应起来的映射关系,因此字典元素的提取主要是利用这种映射关系来实现

    7900

    一.为什么我们要学Python及基础语法详解

    Python是纯粹的自由软件,其语法简洁清晰,特色之一是强制使用空白符(White Space)作为语句缩进。由于Python具有丰富和强大的库,常被昵称为胶水语言。...常量 常量是指程序中值不发生改变的元素,一旦初始化后就不能对其修改的固定值,它是内存中用来保存固定值的单元。...字典是针对非序列集合而提供的,字典用"{ }"标识,由键值对( )组成,字典是键值对的集合,其类型为dict。...键是字典的索引,一个键对应着一个值,通过键值可查找字典中的信息,这个过程叫做映射。 示例如下,通过键值对可以获取“4”对应的“Guiyang”。...它们的映射方式不同,列表通过地址映射到值,字典通过键值对映射到值。 列表只能通过数字下标或索引访问,字典可以用各种对象类型作为键访问。

    46310

    Python:高效编程技巧

    使用 zip() 函数 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。...某随机序列中,找到出现次数最高的3个元素,它们出现的次数是多少 方法1: # 可以使用字典来统计,以列表中的数据为键,以出现的次数为值 from random import randint # 构造随机序列...f.read() # 所有的单词列表 total = re.split("\W+", d) result = Counter(total) print(result.most_common(10)) 四、根据字典中值的大小...,对字典中的项进行排序 比如班级中学生的数学成绩以字典的形式存储,请按数学成绩从高到底进行排序 方法1: # 利用 zip 将字典转化为元组,再用 sorted 进行排序 from random import...由于比赛轮次数是不定的,所以使用 map 来批量操作 # map(dict.keys, [s1, s2, s3]) # 然后一直累积取其交集,使用 reduce 函数 reduce(lambda x,

    79920

    Python基础语法(四)—列表、元组、字典、集合、字符串

    元组可以是空的,t2=() 一个元组也可以作为另一个元组的元素,此时,作为元素的元组需要增加括号,从而避免歧义,如:t3=(123,456,("hello","world")) Python 的元组与列表类似...元组的使用 >>> a = ('hello',2020,110) >>> a ('hello', 2020, 110) >>> a[1] 2020 元组中的元素值是不允许修改和删除的,但我们可以使用del...'] 'blog.zeruns.tech' 常用方法 方法 描述 keys() 返回字典中键的列表 values() 返回字典中值的列表 items() 返回tuples的列表。...而不能包含列表.字典、集合等可变类型的数据,包含列表等可变类型数据的元组也不能作为集合的元素。...x'还是'X') 0 显示的数字前面填充'0'而不是默认的空格 % '%%'输出一个单一的'%' (var) 映射变量(字典参数) m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    2.5K20

    一.为什么我们要学Python及基础语法详解

    Python是纯粹的自由软件,其语法简洁清晰,特色之一是强制使用空白符(White Space)作为语句缩进。由于Python具有丰富和强大的库,常被昵称为胶水语言。...常量 常量是指程序中值不发生改变的元素,一旦初始化后就不能对其修改的固定值,它是内存中用来保存固定值的单元。...字典是针对非序列集合而提供的,字典用"{ }"标识,由键值对( )组成,字典是键值对的集合,其类型为dict。...键是字典的索引,一个键对应着一个值,通过键值可查找字典中的信息,这个过程叫做映射。 示例如下,通过键值对可以获取“4”对应的“Guiyang”。...它们的映射方式不同,列表通过地址映射到值,字典通过键值对映射到值。 列表只能通过数字下标或索引访问,字典可以用各种对象类型作为键访问。

    59210
    领券