Python数据处理基础

 基本数据类型

Python3 中有六个标准的数据类型:

Ø Number (数字)
Ø String (字符串)
Ø List (列表)
Ø Tuple (元组)
Ø Set (集合)
Ø Dictionary (字典)

可变类型与不可变类型

可变数据类型在声明时会开辟一个内存空间,使用 Python 的内置方法对内存中的数据进行修改时, 内存地址不发生变化
可变 数据包括列表、字典和集合。

 不可变类型

不可变数据类型在声明时候也会开辟一块内存,不能改变这个数据的值。当改变赋值时,会重新开辟一块内存空间

不可变数据有数字、字符串和元组。

Python 的六个标准数据类型中:

不可变数据 3 个): Number (数字)、 String (字符串)、 Tuple (元组);
可变数据 3 个): List (列表)、 Dictionary (字典)、 Set (集合)

String(字符串)类型 

Python中的字符串用半角的单引号或双引号括起来,获取字符串的一部分的操作也称为切片,截取格式为  字符串变量[头下标:尾下标]

访问方法:正序访问时,可以获取到头下标到尾下标减1位置的字符。也可以逆序读取,最后一个字符下标为-1

栅栏式位置:Python字符串的首字母下标为0可以认为字符串位置与该位置上的数值交错出现,形成“栅栏”式

由于字符串是不可变类型,所以向字符串位置赋值会导致错误

字符串赋值。

word = 'Python'

print(word[0], word[5])

print(word[-1], word[-6])

如果继续添加一行语句:

word[0] = Q'

由于无法修改 word字符串,因此会导致错误:TypeError: 'str' object does not support item assignment”

如果需要修改字符串的内容,可以使用重新赋值语句,如下:

word = 'Qython'

即生成一个新的word变量。

List(列表)类型

List (列表) 使用方括号 [] 进行定义,数据项之间用逗号分隔。 列表 Python 中使用最频繁的数据类型 列表的数据项可以是数字、字符串,也可以是列表。
列表截取 语法与字符串类似,格式如下 :列表 变量 [ 头下标 : 尾下标 ]

在实际应用中,经常需要对列表中的数据项进行遍历(也称为迭代)。Python中常用的列表迭代方法有三种

1. for 循环 遍历
2. 索引序列 遍历 
3. 下标遍历。

 Tuple(元组)类型

元组写在小括号 () 里,元素之间用逗号分隔,元素可以具有不同的类型。元组( Tuple )与列表类似,但 元组的元素不能修改
元组可以 索引 下标索引 也是 0 开始, -1 为从末 尾位置
元组 的元素不可改变,但如果 元组 包含了可变类型 数据项, 则该 数据项可以 修改。

Dictionary(字典)

字典是一种可变容器模型,且可存储任意类型对象。字典使用大括号 {} 定义 , 格式 如下:

d = {key1 : value1, key2 : value2}

字典 的每个 键值 (key/value) 用冒号分隔,键值对之间用逗号分隔
一般是唯一的。如果出现了重复,则后面的键值对会替换前面的键值对
的数据及类型不限,可以是字符串、数字或元组。

1.字典的访问

访问字典中的值需要使用字典的键值,这个键值用方括号括起来格式为:dt[‘key’]

2.修改字典

可以向字典添加、修改或删除键/值对

3.删除字典元素

删除一个字典用del命令, 清空字典用clear命令。

Set(集合)类型

Set(集合)由一列无序的不重复的数据项组成

集合 是可变类型
数学中的集合概念相同,集合中每个元素都是唯一的
集合 不设置顺序,每次输出时元素的排序可能都不相同。
集合使用大括号,形式上和字典类似,但数据项不是成对的

1.创建set集合

创建集合可以使用大括号{}或者set()函数,但创建一个空集合必须用set()函数而不能用{},因为空的大括号{}创建的是空的字典

建立一个由(v1,v2,…)组成的集合mySet,可以使用:mySet = {v1,v2,...}

还可以使用List列表来创建集合,列表中的数据项直接作为集合的元素。生成的set集合和原List列表相比,数据项顺序有可能不同,并且会去除重复数据项。

2.集合添加、删除

为集合添加数据项有两种常用方法,是add()update()。删除集合项的常用方法是remove()

3.SET集合的遍历

集合中的元素也可以使用遍历进行访问,可以使用直接遍历,也可以使用enumerate索引进行遍历。不过,集合类型不支持range()方式的遍历。

4。Python集合操作符号 

Python集合类型与数学中的集合操作类似,支持集合的交集、并集、差集、包含等数学操作

打开与关闭文件

        

1.打开文件

打开文件的内置函数是open()函数,打开文件后会创建一个文件对象。对文件的访问通过这个文件对象进行。

语法:open(file_name [, access_mode][, buffering])

主要参数:

u file_name :字符串类型,要访问的文件名称。

access_mode:文件的打开模式,读取、写入或追加等。可选参数,默认为r(只读模式)。写数据常用的是w’‘a’ 模式, 分别表示改写和添加。

2.写入文件

向文件中写入数据,使用文件对象的 write () 方法,参数为要写入文件的字符串。

3.关闭文件 

        关闭使用文件对象的close方法。

如: f.close ()
文件的读写也会产生 错误
例如 读取一个不存在的文件或者没有正常关闭的文件,会产生 IOError 错误
为了 避免此类问题,可以使用 try ... finally 语句,不过更方便的是使用 Python 提供的 with 语句。

 读取文件内容 

文件对象中也提供了读取文件的方法,包括read()readline()readlines()等方法。其功能分别如下

file.read([count])默认读整个文件。如果设置了参数count,则读取count个字节,返回值为字符串

file.readline()当前位置开始,读取文件中的一行,返回值为字符串

file.readlines()当前位置开始读取文件的所有行,返回值为列表,每行为列表的一项

有时读取的数据具有特殊字符或需要去掉的空格,如\n(换行)、\r(回车)、\t(制表符)、' '(空格)等,常用去空白符函数:

strip () :去除头、尾的字符和空白符。
lstrip () :用来去除开头字符、空白符。 
rstrip () :用来去除结尾字符、空白符。

将数据写入文件 

如果需要对文件写入数据,打开方式需要选择‘w’(写入)或者‘a’(追加) 模式,才能对文件内容进行改写或添加。写入文件可以使用Python提供的write方法。write方法的语法如下:

fileObject.write(byte)

其中,参数byte为待写入文件的字符串或字节。

 Pandas存取文件 

Pandas的核心功能是数据计算和处理,对外部文件读写数据也是Pandas功能的一部分。而且,可以使用Pandas在数据读写阶段对数据做一定的预处理,为接下来的数据分析做准备。

read_csv函数

功能:从文件、URL、文件新对象中加载带有分隔符的数据,默认分隔符是逗号

read_csv的格式如下:

pd.read_csv(filepath_or_buffer,sep,header,encoding,index_col,columns…)

该函数有20多个参数,其主要参数如下:

u filepath_or_buffer :字符型,代表文件名或数据对象的路径,也可以是 URL
u sep :字符型,数据的分隔符。 read_csv 中默认是逗号; read_table 中默认是 tab 空格。
u header :整型或整数列表 , 默认为 None ,代表列名的行号或数据的起始行。 Pandas 读文件时默认第一行为关键字行。如果数据没有关键字,需要将 header 设置为 None
u encoding :字符型,可选参数,注明数据的编码,默认为 ”utf-8”
u index_col :整数,默认为 None ,指定行索引的列号。

NumPy存取文件

NumPy也可以非常方便地存取文件

loadtxt()savetxt()

        

基本格式:

np.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')

np.savetxt(fname,X,fmt=’%.18e’,delimiter=’ ’,newline=’\n’,header=’’,footer=’’,comments=’#’,encoding=None)

常用参数解析——

u frame :文件、字符串或产生器,可以是 . gz .bz2 的压缩文件。
u X :准备存储到文件的数据,一维或二维的数组形式。
u dtype :数据类型,可选。
u delimiter :分隔字符串,默认是空格。

usecols:选取数据的列。  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值