写在前面:

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行数据
food_info.loc[3:6]         

运行结果:

C. .loc[[a,b,c]]函数,参数a,b,c :取第a,b,c三行的数据

注意:这里的参数是元组形式 [a, b, c]

#返回数据文件的3,5,7行数据
food_info.loc[[3,5,7]]        

运行结果:

2.6  读取文件中特定列位置的数据

A. 取一列数据

#读取并显示列名为“NDB_No”所在的那一列
ndb_col = food_info["NDB_No"]
print(ndb_col)#也可以将列名“NDB_No”赋值给变量,然后通过变量来返回数据
col_name = "NDB_No"
ndb_col = food_info[col_name]
print(ndb_col)

运行结果:

B. 取特定几列数据

想要取特定的几列,则只需要将想要取得列的列名弄到一起,组成一个list就可以了

#将要取得两列的列名放到一个list里,并赋给变量
columns = ["Zinc_(mg)","Copper_(mg)"]
#通过变量取得两列的数据
zinc_coop = food_info[columns]
print(zinc_coop)                       #完全可以不依靠中间变量,意义相同
#food_info[["Zinc_(mg)","Copper_(mg)"]]

运行结果:

2.7  抽取列名中以(g)为单位的列的数据

在 .csv数据中,有些数据是以克(g)为单位,有些数据则是以毫克(mg)为单位

需求:抽取出全部以(g)为单位的列的数据

数据的列表头的局部预览图如下:

思路:

1.首先读取列名(.columns函数);

2.然后将取得的列名转换成list格式(tolist()函数);

3.再对list遍历,找出以 “(g)”结尾的列名(.endwith()函数),添加到一个空list(gram_columns)里面(.append()函数)

import pandas#目的:想要看一下数据中有哪些列是以克(g)为单位的food_info = pandas.read_csv("food_info.csv")    #读取.csv的数据文件
col_names = food_info.columns.tolist()          #返回DataFrame类型变量的列名,并将其存储为list格式gram_columns = []                               #定义list的变量,准备存放以(g)为单位的列名
for c in col_names:                             #用for循环对为一个列名进行遍历if c.endswith("(g)"):                       #如果列名是以“(g)”结尾的,则将其放入到gram_columns的列表中gram_columns.append(c)gram_df = food_info[gram_columns]               #gram_df 是所有以(gram_columns)为列名的列的数据。(即抽出这么几行)
print(gram_df.head(3))                          #打印所有以“(g)”为单位的列名对应的数据的前三行

运行结果:

2.9 数据之间的“+”“-”“×”“÷”操作

在Pandas中,不但各列数据可以“+”“-”“×”“÷”任何数,两列或者多列数据之间也可以进行“+”“-”“×”“÷”。

注意:要求维度一样,当维度一样的时候,对应位置的数据进行运算。

需求:将数据中的两列数据进行乘法,然后把得到的结果作为数据的一个新的指标加入到原来的数据中,使原本数据的列数据增加一。

#导包
import pandas#读取文件
food_info = pandas.read_csv("food_info.csv")#将数据中"Water_(g)"和"Energ_Kcal"这两列的数据做乘法运算(对应位置的数据相乘)
#将结果赋值给变量water_energy
water_energy = food_info["Water_(g)"]*food_info["Energ_Kcal"]         print("原数据的shape值:",food_info.shape) #将乘法得到的新的数据作为样本的一个指标加入到food_info变量中,命名为:"Water_energy"
food_info["Water_energy"] = water_energy print("现在的shape值:", food_info.shape)#将三列数据组成一个list赋值给变量columns
columns = ["Water_(g)","Energ_Kcal","Water_energy"]
#将list作为food_info的参数
water_energy_togher = food_info[columns]
water_energy_togher#以上的三行代码,可以合并为下边的一句
#注意三个列名组成的是一个list元组形式,然后传到food_info[]中
#print(food_info[["Water_(g)","Energ_Kcal","Water_energy"]])

运行结果:

2.10  .max()函数:求某一列数据的最大值

需求:求某一列数据的最大值

#求某一列数据的最大值
#首先定位到某一列,然后使用.max()函数,求出最大值
max_calories = food_info["Energ_Kcal"].max()
print("max = ",max_calories)

运行结果:

  

2.11  .sort_values()函数:排序

#排序操作
#sort_values():对数据进行排序
#参数:首先要给一个列名(即对此列数据进行排序)
#inpalce = True:排序后生成另外新的DataFrame数据,而不是原来的那个。
#inpalce = False:排序后生成新的DataFrame数据替换原来的那个
#sort_values():默认的排序方式为从小到大排序,如果想要从大到小,则设置ascending = False
#对于缺省值的样本,panda会返回NaN,并将这数据排在最后food_info.sort_values("Sodium_(mg)",inplace = True)
print(food_info["Sodium_(mg)"])food_info.sort_values("Sodium_(mg)",inplace = True, ascending = False)
print(food_info["Sodium_(mg)"])

运行结果:(部分展示)

更多AI资源请关注公众号:大胡子的AI

欢迎各位AI爱好者加入群聊交流学习:882345565(内有大量免费资源哦!)

版权声明:本文为博主原创文章,未经博主允许不得转载。如要转载请与本人联系

Pandas(数据分析处理库)代码大全相关推荐

  1. 图解数据分析(12) | Pandas - 数据分析工具库介绍(数据科学家入门·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...

  2. 【A-003】python数据分析与机器学习实战 Python科学计算库 Pandas数据分析处理库(二)

    目录: 处理缺失数据制作透视图删除含空数据的行和列多行索引使用apply函数 本节要处理的数据来自于泰坦尼克号的生存者名单,它的数据如下: PassengerId Survived Pclass .. ...

  3. 数据分析处理库-Pandas

    Pandas (数据分析处理库) Pandas:纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.提供了大量能使我们快速便捷地处理数据的函数和方法. 1.Pandas数据读取 1 ...

  4. python常用代码大全-Python常用库大全及简要说明

    环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...

  5. python常用代码大全-Python常用库大全

    Python常用库大全,看看有没有你需要的. 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具 ...

  6. python常用代码大全-Python常用库大全,看看有没有你需要的

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  7. Pandas数据分析库(2)Python数据分析

    1 pandas简介 Python在数据处理和准备方面一直做得很好,但在数据分析和建模方面就差一些.pandas帮助填补了这一空白,使您能够在Python中执行整个数据分析工作流程,而不必切换到更特定 ...

  8. 鸽子学Python 之 Pandas数据分析库

    本文来自鸽子学Python专栏系列文章,欢迎各位交流. 文章目录 Pandas介绍 第一部分 Pandas基础 1 Pandas数据结构 1.1 Series 1.2 DataFrame 2 数据查看 ...

  9. CC00038.python——|HadoopPython.v02|——|Arithmetic.v02|Pandas数据分析库:Pandas数据结构|

    一.pandas数据分析库 ### --- pandas数据分析库~~~ Python在数据处理和准备⽅⾯⼀直做得很好,但在数据分析和建模⽅⾯就差⼀些. ~~~ pandas帮助填补了这⼀空⽩,使您能 ...

  10. AI常用框架和工具丨2. 数据分析处理库Pandas

    数据分析处理库Pandas,AI常用框架和工具之一.理论知识结合代码实例,希望对您有所帮助. 文章目录 环境说明 一.Pandas简介 二. Pandas中的数据结构 2.1 Series 2.2 D ...

最新文章

  1. 【Python基础】拯救你奇丑无比的Python代码的神器
  2. python做bi系统_如何使用Python创建可视化对象
  3. Java常用的集合类
  4. altium designer PCB把板子翻过来看
  5. ios一个app调起另一个app_电商app开发价格:制作一个电商app需要多少钱?
  6. 如何将你拍摄的照片转换成全景图及六面体(PTGui)
  7. 第二篇 第一章建筑分类和耐火等级检查(二)
  8. 在线考试系统需求分析
  9. 第一篇:CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
  10. exe4j 程序在别的电脑报错Please reinstall or define EXE4J_JAVA_HOME to point to an installed 32-bit JDK or JRE
  11. SVN 文件夹图标不显示问题的解决办法
  12. 谈用户裂变,社群裂变的重要性
  13. [文档]腾讯云使用手册之云服务器-VPS简介
  14. 1564_AURIX_TC275_电压监控寄存器整理
  15. vue2和vue3响应式原理
  16. 计算机的定点运算器原理,优·计算机组成原理 定点运算器的组成和结构.doc
  17. CocoaPods安装firebase的问题记录
  18. 牛盾网络验证源码全开源【易语言】
  19. Hadoop学习篇(一)——初识Hadoop Hadoop单机配置
  20. 人体12个最重要的穴位图

热门文章

  1. k8s系列(二)——云计算相关概念
  2. php安全挑战赛,TSRC挑战赛: PHP场景中getshell防御思路分享
  3. pymol安装教程linux,Pymol安装与问题解决
  4. 直播系统开发:宋祖儿直播自曝“抠脚妹”
  5. js实现中英文合并排序
  6. Matlab 向量的处理
  7. .mp4视频测试地址
  8. 染色质调控区域的研究: 对CHIP-seq和ATAC-seq发展的深入思考
  9. Win10以太网没有有效的IP配置解决方法
  10. 微信小程序的注册流程