今天我们继续讲下Python中一款数据分析很好的库。Pandas的学习

接着上回讲到的,如果有人听不懂,麻烦去翻阅一下我前面讲到的Pandas学习(一)

如果我们在数据中,想去3,4,5这几行数据,那么我们怎么取呢?

food.loc[3:6]

可以看到,这种取法跟Python中,切片操作一样。

如果我想去单独某几条数据,只需要传入index值即可

food.loc[[2,5,10]]

如果我先想不通过行去取数据,想通过列去取数据的话,我们该怎么做呢??

我们可以通过列名去拿取数据

col_NB = food["NDB_No"]
print(col_NB)

可以看到,我们取到了第一列的数据出来。

那么我们想取两列数据出来,我们应该怎么操作呢?

方法跟上面一样,将列名加到里面,组成一个list列表。

col_2 = ["Zinc_(mg)","Copper_(mg)"]
col_2_all = food[col_2]
print(col_2_all)

来我们看下数据上面,有些列名是带了单位的,那么我们怎么选择其中某几个一样单位的列呢?

我们先要取到全部的列名,然后将列名中带有单位(g)的列名取出,并单独放到一个列表中,最后在取这个列表中的列的数据即可

col_names = food.columns.tolist()
print(col_names)
gram_columns = []
for c in col_names:
if c.endswith("(g)"):
gram_columns.append(c)
gram_df = food[gram_columns]
print(gram_df.head(3))

这些都是些简单的操作,

再比如说,我们想进行一些加减乘除的操作。

我想把单位为mg的数据,转换成g的数据,这里的做法,就跟Numpy是类似的。

print(food["Iron_(mg)"])
div_1000 = food["Iron_(mg)"]/1000
print(div_1000)

我们在对某个数据上进行操作,即可得到我们想要的结果。

water_energy = food["Water_(g)"]*food["Energ_Kcal"]

对应位置的乘法操作,需要保证的是,维度要相同才可以!

water_energy = food["Water_(g)"]*food["Energ_Kcal"]
water_energy = food["Water_(g)"]*food["Energ_Kcal"]
iron_grams = food["Iron_(mg)"]/1000
print(food.shape)
food["Iron_(g)"]=iron_grams
print(food.shape)

上一段代码可以看到,我们把一列名称的值,进行单位转换,把mg转换为g,然后新建了一列数据

将这列数据放到数据集中,之前打印出来的数据维度,8618个样本,和36个属性值。后面打印的

是37个属性值,也就是我们将新的属性值,放入到原来的数据值中了!前提是,其中的维度要对应上才可以。

weighted_protein = food["Protein_(g)"]*2
weighted_fat =-0.75* food["Lipid_Tot_(g)"]
initial_rating = weighted_protein + weighted_fat

比如说这些运算操作, 维度一样,相当于对应位置进行运算。

跟Numpy一样,我们也有一些别方法,求最大值,最小值,平均值等等

方式基本上跟Numpy类似。

今天就先讲到这里。感谢大家的阅读!感谢~~

Python Pandas库的学习(二)的更多相关文章

  1. Python Pandas库的学习(三)

    今天我们来继续讲解Python中的Pandas库的基本用法 那么我们如何使用pandas对数据进行排序操作呢? food.sort_values("Sodium_(mg)",inp ...

  2. Python Pandas库的学习(一)

    今天我们来学习一下Pandas库,前面我们讲了Numpy库的学习 接下来我们学习一下比较重要的库Pandas库,这个库比Numpy库还重要 Pandas库是在Numpy库上进行了封装,相当于高级Num ...

  3. python pandas库——pivot使用心得

    python pandas库——pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库——pandas(versio ...

  4. Python pandas库159个常用方法使用说明

    Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素. 一.Pandas数据结构 1.import pandas as pd import numpy as np ...

  5. Python——Pandas库入门

    一.Pandas库介绍 Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas as pd Pandas基于NumPy实现,常与NumPy和Matplotli ...

  6. Python Pandas库 初步使用

    用pandas+numpy读取UCI iris数据集中鸢尾花的萼片.花瓣长度数据,进行数据清理,去重,排序,并求出和.累积和.均值.标准差.方差.最大值.最小值

  7. Python asyncio库的学习和使用

    因为要找工作,把之前自己搞的爬虫整理一下,没有项目经验真蛋疼,只能做这种水的不行的东西...T  T,希望找工作能有好结果. 之前爬虫使用的是requests+多线程/多进程,后来随着前几天的深入了解 ...

  8. python 标准库基础学习之开发工具部分1学习

    #2个标准库模块放一起学习,这样减少占用地方和空间#标准库之compileall字节编译源文件import compileall,re,sys#作用是查找到python文件,并把它们编译成字节码表示, ...

  9. 使用Python的库qrcode生成二维码

    现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装  Image 库 安装 用pip安装 # pip install ...

随机推荐

  1. 洛谷P3295 [SCOI2016]萌萌哒(倍增+并查集)

    传送门 思路太妙了啊…… 容易才怪想到暴力,把区间内的每一个数字用并查集维护相等,然后设最后总共有$k$个并查集,那么答案就是$9*10^{k-1}$(因为第一位不能为0) 考虑倍增.我们设$f[i] ...

  2. (6)css盒子模型(基础下)

    一.理解多个盒子模型之间的相互关系 现在大部分的网页都是很复杂的,原因是一个“给人用的”网页中是可能存在着大量的盒子,并且它们以各种关系相互影响着. html与DOM的关系 详情了解“DOM” :ht ...

  3. DevStack部署OpenStack开发环境 - 问题总结

    建议在使用DevStack搭建OpenStack开发环境前,先安装好开发工具包组.特别是gcc,主要一定是在yum update -y 之前,否则更新完系统后,在安装开发工具包会出现很多依赖包因为版本 ...

  4. springMVC RedirectAttributes

    @Controller public class TestController { @RequestMapping("/redirectDemo") public String r ...

  5. 进击的Python【第十五章】:Web前端基础之DOM

    进击的Python[第十五章]:Web前端基础之DOM 简介:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示 ...

  6. 水题 Codeforces Round #285 (Div. 2) C. Misha and Forest

    题目传送门 /* 题意:给出无向无环图,每一个点的度数和相邻点的异或和(a^b^c^....) 图论/位运算:其实这题很简单.类似拓扑排序,先把度数为1的先入对,每一次少一个度数 关键在于更新异或和, ...

  7. 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明

    ############1   迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...

  8. Normal equations 正规方程组

    前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点: (1)需要预先选定Learning rate: (2)需要多次iteration: (3)需要Feature ...

  9. Spring注解驱动开发之AOP

    前言:现今SpringBoot.SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解.原理,比如@Conditional.@Import.@Ena ...

  10. C++ 异常处理(try catch throw)、命名空间

    一.c++工具 模板(函数模板.类模板).异常处理.命名空间等功能是c++编译器的功能,语言本身不自带,这些功能已经成为ANSI C++标准了,建议所有的编译器都带这些功能,早期的c++是没有这些功能 ...