python数据分析基础教程—从入门到精通pandas操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从入门到精通pandas操作
Pandas简介:Python Data Analysis Library(数据分析处理库)或pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
pandas的数据结构:
Series:一维数组,与Numpy中的一维ndarray类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
Time- Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构,可以理解为Series的容器。
Panel :三维的数组,可以理解为DataFrame的容器。
本文主要介绍DateFrame数据结构。
本文中用到的数据集为food_info.csv,若有需要,在留言区留言即可获得。
本文只是介绍pandas的基本使用,若要详细深入学习,请参阅pandas官方文档。
1.读取.csv格式的数据文件
food_info.csv文件的局部预览图:
每一行:代表一种食品所包含的各种营养成分#导包
import pandas
#读取数据文件,并将数据赋值成一个变量
.
.
food_info = pandas.read_csv("food_info.csv")
#将数据赋值成一个变量后,打印此变量的类型为Dataframe .
.
print(type(food_info))
#打印文件中数据的类型。object类型即string类型
print(food_info.dtypes)
#若对pandas中的某函数不了解,可以通过help()来查看.
.
print(help(pandas.read_csv))
.
运行结果:
补充:DataFrame结构中的dtype类型
object————for string values
int————for integer values
float————for float values datetime————for time values
bool————for Boolean values
2. DataFrame类型的变量拥有的操作
在第一步中,将要处理的数据文件读取出来并赋值给一个变量
food_info,此变量的类型为DataFrame类型,下边将会对这个变量进行操作。
2.1 .head()函数:读取并显示数据的前几行
A. 无参数:缺省默认显示前5行数据
.
#缺省默认显示前5行数据
.
.
food_info.head()
.
运行结果:
B. 有参数: .head(a)函数如果添加参数a,则显示数据的前a行
.
#读取并显示数据的前3行
.
.
food_info.head(3)
.
运行结果:
2.2 .tail()函数:读取并显示数据的后几行
A. 无参数:.缺省默认显示后5行数据
.
#缺省默认显示后5行数据
.
.
food_info.tail()
.
运行结果:
B. 有参数:.tail(a)函数如果添加参数a,则显示数据的末尾a行
.
#读取并显示数据的后3行
.
.
food_info.tail(3)
.
运行结果:
有print与没有print的区别
没有实质性的差别,只是显示的形式不同而已。
print(food_info.tail(3)) #有print和没有print显示形式有些不同运行结果:
2.3 .columns函数:读取并显示列名
.
#读取并显示列名
.
.
food_info.columns
.
.
#print(food_info.columns)
.
运行结果:
2.4 .shape函数:返回数据文件的行数和列数
.
#读取并显示文件的行数和列数
.
.
food_info.shape
.
运行结果:
2.5 .loc[ ]函数:读取文件中特定行位置的数据
在Pandas中取文件特定位置的数据不像python和numpy中那样直接通过index来调
A. .loc[a]函数,参数a:取第a+1行的数据(index是从0开始的)
.
#读取并显示特定行的数据
.
.
#返回第一行的文件数据
.
.
food_info.loc[0]
.
运行结果:
注意:当index的值超过了文件的样本个数,会报错(越界)
.
#返回第8889行的文件数据
.
.
food_info.loc[8888]
.
运行结果:
B. .loc[a:b]函数,参数a:b :取从第a行到第b行的数据
.
#返回数据文件的3——6行数据