Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。
Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。
Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
本文的数据以《模型学习笔记02-层次分析法》中第四节的题目数据为例
基本的数据读取
所需要的代码如下:
import pandas as pd
data = pd.read_excel(r'data.xlsx') #读取数据文件
print(data) #打印数据
队员i 学科知识竞赛成绩 思维敏捷度 知识面宽广度 写作能力 计算机应用能力 团结协作能力 0 1 86 9.0 8.2 8.0 7.9 9.5 1 2 82 8.8 8.1 6.5 7.7 9.1 2 3 80 8.6 8.5 8.5 9.2 9.6 3 4 85 8.9 8.3 9.6 9.7 9.7 4 5 88 8.4 8.5 7.7 8.6 9.2 5 6 92 9.2 8.2 7.9 9.0 9.0 6 7 92 9.6 9.0 7.2 9.1 9.2 7 8 70 8.0 9.8 6.2 8.7 9.7 8 9 70 8.2 8.2 8.4 6.5 9.6 9 10 77 8.1 8.6 6.9 8.5 9.4 10 11 83 8.0 8.0 7.8 9.0 9.2 11 12 90 9.7 8.1 9.9 8.7 9.5 12 13 96 9.6 8.3 8.1 9.0 9.7 13 14 95 8.3 8.8 8.1 8.8 9.3 14 15 86 8.2 8.2 8.4 8.6 9.0 15 16 91 8.0 8.6 8.8 8.4 9.4 16 17 93 8.7 9.4 9.2 8.7 9.5 17 18 84 8.4 9.2 9.1 7.8 9.1 18 19 87 8.3 9.5 7.9 9.0 9.6 19 20 78 8.1 9.6 7.6 9.0 9.2
read_excel()函数
函数功能
将Excel文件读取到pandas DataFrame中,支持本地文件系统或URL的’xls’和’xlsx’文件扩展名,带有这两种扩展名的文件,函数都可以处理;
函数参数
函数的完整参数如下:
pandas.read_excel(io,
sheet_name=0,
header=0,
names=None,
index_col=None,
parse_cols=None,
usecols=None,
squeeze=False,
dtype=None,
engine=None,
converters=None,
true_values=None,
false_values=None,
skiprows=None,
nrows=None,
na_values=None,
keep_default_na=True,
verbose=False,
parse_dates=False,
date_parser=None,
thousands=None,
comment=None,
skip_footer=0,
skipfooter=0,
convert_float=True,
mangle_dupe_cols=True,
**kwds)
参数解释
io:路径
sheet_name:默认是sheetname为0,返回多表使用sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe。
header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;
skiprows(list like):省略指定行数的数据
skip_footer:省略从尾部数的行数据
index_col(int, list of int, default None):默认值(index_col = None)——重新设置一列成为index值
names:指定列的名字,传入一个list数据
parse_cols:为True时,则尝试解析数据框中的行索引;为列表,则尝试解析对应的日期列;参数为嵌套列表,则将某些列合并为日期列;如果参数为字典,则解析对应的列(即字典中的值),并生成新的变量名(即字典中的键)
converters: 通过字典的形式,指定哪些列需要转换成什么形式
throusands: 指定原数据集中的千分位符
parse_dates: 该参数在函数内不再生效
convert_float: 默认将所有的数值型变量转换位浮点型变量
na_values(scalar, str, list-like, or dict, default None): 指定某些列的某些值为NaN
keep_default_na (bool, default True):表示导入数据时是否导入空值。默认为True,即自动识别空值并导入
usecols (int, str, list-like, or callable default None):默认为None,解析所有列。如果为str,则表示Excel列字母和列范围的逗号分隔列表(例如“ A:E”或“ A,C,E:F”)。范围全闭。如果为int,则表示解析到第几列。如果为int列表,则表示解析那几列。
str:usecols=”A:C”,只读取从A列到C列的数据
converters(dict, default None):对指定列的数据进行指定函数的处理,传入参数为列名与函数组成的字典。key 可以是列名或者列的序号,values是函数,可以def函数或者直接lambda都行。
dtype(Type name or dict of column -> type, default None):列的类型名称或字典,默认为None,也就是不改变数据类型。其作用是指定列的数据类型。
true_values(list,default None):将指定的文本转换为True,默认为None
false_values(list,default None):将指定的文本转换为False,默认为None
engine(str, default None):可以接受的参数有“ xlrd”,“ openpyxl”或“ odf”,用于使用第三方的库去解析excel文件。
squeeze (bool, default False):默认为False。如果设置squeeze=True则表示如果解析的数据只包含一列,则返回一个Series。
nrows(int, default None):默认为None, 指定需要读取前多少行,通常用于较大的数据文件中。
从读取的数据创建numpy数组
只需要把读取的数据塞进np.array()即可
import pandas as pd
import numpy as np
data = pd.read_excel(r'data.xlsx',index_col=0)
datalist=np.array(data)
print(datalist)
[[86. 9. 8.2 8. 7.9 9.5] [82. 8.8 8.1 6.5 7.7 9.1] [80. 8.6 8.5 8.5 9.2 9.6] [85. 8.9 8.3 9.6 9.7 9.7] [88. 8.4 8.5 7.7 8.6 9.2] [92. 9.2 8.2 7.9 9. 9. ] [92. 9.6 9. 7.2 9.1 9.2] [70. 8. 9.8 6.2 8.7 9.7] [70. 8.2 8.2 8.4 6.5 9.6] [77. 8.1 8.6 6.9 8.5 9.4] [83. 8. 8. 7.8 9. 9.2] [90. 9.7 8.1 9.9 8.7 9.5] [96. 9.6 8.3 8.1 9. 9.7] [95. 8.3 8.8 8.1 8.8 9.3] [86. 8.2 8.2 8.4 8.6 9. ] [91. 8. 8.6 8.8 8.4 9.4] [93. 8.7 9.4 9.2 8.7 9.5] [84. 8.4 9.2 9.1 7.8 9.1] [87. 8.3 9.5 7.9 9. 9.6] [78. 8.1 9.6 7.6 9. 9.2]]