文章目录
读取数据读取csv文件读取txt文件读取excle文件读取MySql数据库Pandas数据结构SeriesDataFrame根据多个字典序列创建dataframe从DataFrame中查询出Series参考以前对知识的理解学习都是要啥学啥,久而久之感觉自己像个半吊子,很没有安全感。痛定思痛,整个活。
Pandas
是一个开源的Python
类库:用于数据分析、数据处理、数据可视化。
读取数据
Pandas
需要读取表格类型的数据,然后进行分析。
读取csv文件
读取和查看基本的信息,格式如下:
import pandas as pddf = pd.read_csv(fpath)df.head() # 查看前几行数据df.shape() # 查看数据的形状,返回(行数、列数)df.cloumns # 查看列名列表,Index对象df.cloumns.to_list() # 列名转成listdf.index # 查看索引列表df.dtypes # 查看每列的数据类型
读取txt文件
很多时候,我们无法获取csv
这样有格式的文件,而是自己写入的txt
文件。此时可以自己指定分隔符、列名:
df = pd.read_csv(fpath,sep='\t', # 列的分隔符header=None, # 告诉pandas这个文件没有标题行names=['pdate', 'pv', 'uv'])
读取excle文件
df = pd.read_excel(fpath)
读取MySql数据库
import pymysqlconn = pymysql.connect(host='127.0.0.1',user='root',password='12345678',database='test',charset='utf8')mysql_page = pd.read_sql("select * from crazyant_pvuv", con=conn)
Pandas数据结构
Series
Series
:一维数据,一行或一列。是一种类似于一维数组的对象,由一组数据(可以是不同的数据类型)以及一组与之相关的数据标签(也就是索引组成):
仅由数据列表即可产生最简单的Series:创建一个具有标签索引的Series:
指定index
创建索引:
使用Python字典创建Series:
把字典传给Series
就创建了Series
:
根据标签索引查询数据:
根据标签索引查询数据的方式和Python
的字典类似:
这里的查询方式和dataframe
的方法类似,查询一个值会得到原生的数据,查询两个值得到的还是一个Series
。
DataFrame
DataFrame
是一个表格型数据,由多行多列组成。如果我们要对pandas
数据进行查询的话,就是对index
查询行,columns
查询列。
每列可以是不同的值类型(数值、字符串、布尔值等)不只有行索引index
(这里的行索引index
与Series
是对应的),也有列索引columns
,也就是说把一维变成了二维,方法就是加了一个cloumns
的索引可以看作是由Series
组成的字典,字典的key
就是每一列,字典的value
就是每个Series
。
根据多个字典序列创建dataframe
比如下图所示有三个key
,每个value
都是一个数据的列表。
从DataFrame中查询出Series
如果只查询一行、一列,返回的是pd.Series
;查询一列,采用类似字典的["columns"]
方法:查询一行,采用.loc
方法 如果查询多行、多列,返回的是pd.DataFrame
。查询多列,采用中括号里面套中括号的方式:[["columns1", "columns2"]]
。查询多行类似list
的切片操作:这里要注意.loc[1:3]
会返回末尾元素,但python
中的list
是不返回末尾3
这个元素的。