机器学习初入门02 - Pandas的基本操作
之前的numpy可以说是一个针对矩阵运算的库,这个Pandas可以说是一个实现数据处理的库,Pandas底层的许多函数正是基于numpy实现的
一、Pandas数据读取
1.pandas.read_csv("文件路径"):读取一个csv文件并把数据储存为一个DataFram结构。如feed_info = pandas.read_csv("food_info.csv")
2.pandas中的核心结构叫DataFram,以下简称df,见下图所示

注意在pandas中,字符型值被描述为object类型
3.df.head():打印出df的数据,如果没有参数,默认打印出前5行数据。也可以把它赋值给一个变量,如a=food_info.head(3),那么a就是一个小的df
df.tail():打印后几行


4.df.columns:获取df的列名
5.df.shape:这个就不多说了
二、Pandas索引与计算
6.df.loc[0]:取第一条数据;df.loc[3:4]取第3、4、5、6条数据;
7.df["列名"]:取对应列的数据,取多个列时df[]里接一个列表,列表元素是列名
8.df.columns.tolist():把列名制作成list。下面给出一个小例子。

9.要想对整列进行加减乘除操作,跟numpy一样直接进行,如:a = df["列名"]/1000;如果两列结构相同,可做一样的操作,对应位会实现相应的运算,如:b = df["col1"]*[df["col2"]
10.新建列的操作:df["新列名"]=new_df,相当于给每个样本添加了一个特征
11.求一列的最大值、最小值、均值:df["col_name"].max()、df["col_name"].min()、df["col_name"].mean()
三、Pandas数据预处理实例
12.df.sort_values("col_name", inplace = True):把指定列从小到大排序,inplace=True时,用排序好的列替换原来的列,否则返回一个新列,缺省默认时返回新列。
13.df.sort_values("col_name", ascending = False):从大到小排列
14.df.pivot_table(index="cn1", values="cn2", aggfunc=):pivot_tables是一个统计数据的方法,以index为基准,统计index与value之间的关系,其中values的数据由aggfunc做处理。比如说index为pclass(货舱等级),values为survived(是否获救),aggfunc为np.mean(平均处理),即统计不同货舱的平均获救率。当aggfunc缺省时默认是求平均。
15.一些其他基本函数和pandas中函数的定义见下面的小例子









三、Series结构
16.DataFrame中的一行或者一列被称为Series结构,是Pandas内部定义的结构。Series里数据的结构是ndarray

机器学习初入门02 - Pandas的基本操作的更多相关文章
- 机器学习初入门03 - Matplotlib
这一部分很简单,所以以代码的形式给出,在实际学习开发中,Matplotlib最好只把它当成一个画图的工具来用,没有必要深究其实现原理是什么. 一.折线图的绘制 import pandas as pd ...
- 机器学习初入门04 – Seaborn(持续更新)
Seaborn库可以说是在matplotlib库上的一个封装,它给我们提供了非常丰富的模板 一.整体布局风格设置 import seaborn as sns import numpy as np im ...
- 机器学习初入门01-numpy的基础用法
一.numpy基础结构 1. numpy.genformtxt('路径名', delimiter = '分割符', dytype = 读取方式如str ):读取一个文件,返回一个numpy.ndarr ...
- 机器学习简易入门(四)- logistic回归
摘要:使用logistic回归来预测某个人的入学申请是否会被接受 声明:(本文的内容非原创,但经过本人翻译和总结而来,转载请注明出处) 本文内容来源:https://www.dataquest.io/ ...
- 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用
[网络爬虫入门02]HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院 欧浩源 1.引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源发起请求.urllib是 ...
- CSS3基础入门02
CSS3 基础入门02 边框相关属性 border-radius 通过这个属性我们可以设置边框圆角,即可以将四个角设置为统一的圆角,也可以单独的设置具体的某一个角的圆角. grammer: borde ...
- Python数据分析入门之pandas基础总结
Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.r ...
- JavaScript基本入门02
目录 JavaScript基础入门 02 条件语句 if 语句 if .. else 语句 switch 结构 循环语句 while 循环 continue 关键字 do...while语句 for ...
- SpringBoot 初入门
SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, ...
随机推荐
- github团队使用记录
Last login: Sat Nov 4 09:20:15 on ttys000 bogon:~ neveszhang$ git clone git@github.com:031502243/Cla ...
- [python]如何理解uiautomator里面的 instance 及使用场景
通过uiautomatorviewer打开之后,需要通过对某个控件进行操作,但在当前界面中该控件所有属性无法唯一(其它控件属性也是一样),这个时候就需要借助实例(instance)来进行区分,inst ...
- 解决The valid characters are defined in RFC 7230 and RFC 3986错误问题
分析原因: 导致上述问题是因为tomcat自tomcat 8.0.35版本之后对URL参数做了比较规范的限制,必须遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请 ...
- 夯实基础之--new关键字、instanceOf原理
1.instanceOf原理 检测右边构造函数的prototype是否在左边对象的原型链上,在返回true,不在返回false 例:function Persion(name,age){ this ...
- Actor模型---SwiftActors
actor是一个无线程区别的内存访问对象:actor背后有线程支持:actor的事件处理依赖与这个线程(队列.池). actor是一种面向对象的线程(池)模型,强调对事件的响应:在iOS中相当于一种通 ...
- STM32学习之路-LCD(2)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011791262/article/details/27711881 这些天一直在研究LCD的初始化 ...
- HTML5调用百度地图API获取当前位置并直接导航目的地的方法
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8&quo ...
- MetaMask/metamask-extension-provider
用来探测你的浏览器中有没有安装metamask插件 https://github.com/MetaMask/metamask-extension-provider MetaMask Extension ...
- mysql 批量修改字段方法
一.正式环境操作注意事项: .关闭应用访问或者设置数据库只读 mysql设为只读方法: 开启只读: mysql> show global variables like "%read_o ...
- PAT A1009 Product of Polynomials (25 分)——浮点,结构体数组
This time, you are supposed to find A×B where A and B are two polynomials. Input Specification: Each ...