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

编辑: 来源: 时间: 2018-01-29 18:35 阅读:


我们来看看如何高效地学习一门语言的数据结构,今天我们先看Python篇。

所谓数据结构,是指相互之间存在一种或多种特定关系的数据类型的集合。


Python在数据分析领域中,最常用的数据结构,莫过于DataFrame了,今天我们就介绍如何高效地学习DataFrame这种数据结构。


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

第一个问题:概念,这种数据结构的概念是什么呢?


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


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


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


第五个问题:修改,如何对这种数据结构进行增加元素、删除元素以及修改元素呢?


好,今天我们就来回答一下以上五个问题。

第一个问题:概念,这种数据结构的概念是什么呢?

数据框是用于存储多行和多列的数据集合,下面我们使用一张图片,形象地讲解它的内部结构:

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行,列位置

代码举例


>>> df['age']

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、增加/删除/修改 行


3、增加/删除/修改 列


好,下面我们上代码:

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

以上就是全部五个问题的答案了,通过自问自答这五个问题,我们就可以高效地学习某种数据结构了。



大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();