如何高效地学习数据结构——Python篇

栏目: Python · 发布时间: 6年前

内容简介:如何高效地学习数据结构——Python篇

如何高效地学习数据结构——Python篇

我们来看看如何高效地学习一门语言的数据结构,今天我们先看 Python 篇。
所谓数据结构,是指相互之间存在一种或多种特定关系的数据类型的集合。


要学习好一种东西,最好给自己找一个目标,达到了这个目标,我们就是学好了。一般,我在学习一门新的语言的数据结构的时候,一般要求自己达到以下五个要求: 第一个问题:概念,这种数据结构的概念是什么呢?


第二个问题:定义,如何定义这种数据结构呢? 


第三个问题:限制,使用这种数据结构,有什么限制呢?


第四个问题:访问,访问这种数据结构内的数据的方式是什么呢?


好,今天我们就来回答一下以上五个问题。 第一个问题:概念,这种数据结构的概念是什么呢? 数据框是用于存储多行和多列的数据集合,下面我们使用一张图片,形象地讲解它的内部结构: OK,这个就是数据框的概念了。 第二个问题:定义,如何定义这种数据结构呢?  DataFrame函数语法 DataFrame(columnsMap) 代码举例 : >>> df = DataFrame({ 'age': Series([21, 22, 23]), 'name': Series(['KEN', 'John', 'JIMI']) }); >>> df age name 0 21 KEN 1 22 John 2 23 JIMI OK,这个就是定义数据框DataFrame的方法了。 第三个问题:限制,使用这种数据结构,有什么限制呢? 一般而言,限制是对于这种数据结构是否只能存储某种数据类型,在Python的数据框中,允许存放多种数据类型,基本上对于默认的数据类型,没有任何限制。 第四个问题:访问,访问这种数据结构内的数据的方式是什么呢? 访问位置方法备注访问列变量名[列名]访问对应列访问行变量名[n:m]访问n行到m-1行的数据访问行和列变量名.iloc[n1:n2, m1:m2]访问n1到n2-1列,m1到m2-1行的数据访问位置变量名.at[n, 列名]访问n行,列位置 代码举例
0 21 1 22 2 23 Name: age, dtype: int64 >>> df[1:2] age name 1 22 John >>> df.iloc[0:1, 0:2] age name 0 21 KEN >>> df.at[0, 'name'] 'KEN' >>> df[['age', 'name']]  age name  0 21 KEN  1 22 John  2 23 JIMI  >>> 第五个问题:修改,如何对这种数据结构进行增加元素、删除元素以及修改元素呢? 这个问题,我并没有在课程中跟大家讨论过,主要是为了避免大家觉得学习起来很难。 也因此,这篇博文到了这里才是真正的干货,之前的那些都是课程中出现过的内容了,哈哈, 修改包括: 1、修改列名,行索引


2、增加/删除/修改 行


好,下面我们上代码: from pandas import Series; from pandas import DataFrame; df = DataFrame({ 'age': Series([21, 22, 23]), 'name': Series(['KEN', 'John', 'JIMI']) }); #1.1、修改列名 >>> df.columns Index(['age', 'name'], dtype='object') >>> df.columns=['age2', 'name2'] >>> df age2 name2 0 21 KEN 1 22 John 2 23 JIMI #1.2、修改行名 >>> df.index Int64Index([0, 1, 2], dtype='int64') >>> df.index = range(1,4) >>> df.index Int64Index([1, 2, 3], dtype='int64') #2.1、删除行 >>> df.drop(1) age2 name2 2 22 John 3 23 JIMI >>> df age2 name2 1 21 KEN 2 22 John 3 23 JIMI #注意,删除后的DataFrame需要一个变量来接收,并不会直接修改原来的DataFrame. >>> newdf = df.drop(1); >>> newdf age2 name2 2 22 John 3 23 JIMI #2.2、删除列 >>> del newdf['age2'] >>> newdf name2 2 John 3 JIMI #3.1、增加行 >>> df.loc[len(df)+1] = [24, "KENKEN"]; >>> df age2 name2 1 21 KEN 2 22 John 3 23 JIMI 4 24 KENKEN #3.2、增加列 >>> df['newColumn'] = [2, 4, 6, 8]; >>> df age2 name2 newColumn 1 21 KEN 2 2 22 John 4 3 23 JIMI 6 4 24 KENKEN 8 以上就是全部五个问题的答案了,通过自问自答这五个问题,我们就可以高效地学习某种数据结构了。

End.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ActionScript 3.0 Cookbook中文版

ActionScript 3.0 Cookbook中文版

Joey Lott、Adobe Dev Library / 陈建勋 / 电子工业 / 2007-11-01 / 78.00元

本书讨论了在Flash Player里执行的ActionScript3.0语言,采用问题—解法—讨论的形式讲解开发过程中常见问题的实际解法,例如:检测用户的 Flash Player 版本或操作系统;格式化日期和货币类型;接受用户输入及操作文字字符串;在运行时绘制各种形状;访问音频和视频;使用 Flash Remoting 进行远程过程调用;加载、发送和检索 XML 数据等。 全书涵盖客户端......一起来看看 《ActionScript 3.0 Cookbook中文版》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具