机器学习初入门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 部署到服务器启动: 先进行打包, ...
随机推荐
- JFreeChart绘制XY折线图(工具类设计)
准备用Java写通信的仿真平台作为毕业设计,相比matlab绘图,Java绘图需要自己去写很多工具类,博主在这采用了JFreeChart的开源解决方案,摸索着自己写了一个XY折线图工具类,话不多说贴源 ...
- linux 删除指定日期之前的文件
两种方法: 1. 在一个目录中保留最近三个月的文件,三个月前的文件自动删除. find /email/v2_bak -mtime +92 -type f -name *.mail[12] -exec ...
- vue2.0路由切换后页面滚动位置不变BUG
最近项目中遇到这样一个问题,vue切换路由,页面到顶端的滚动距离仍会保持不变. 方法一: 监听路由 // app.vue export default { watch:{ '$route':func ...
- BZOJ4401:块的计数(乱搞)
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...
- 经实测解决Access-Control-Allow-Origin多域名跨域问题
网上流传2种方法解决多域名跨域问题:1.Access-Control-Allow-Origin:[域名一],[域名二]: 2.用$_SERVER("HTTP_ORIGIN")获取来 ...
- MetaMask/zero-client
https://github.com/MetaMask/zero-client MetaMask ZeroClient and backing iframe service architecture ...
- Maven配置本地库加载ojdbc14-10.2.0.4.0.jar文件
因为ojdbc14-10.2.0.4.0.jar是要收费的,所以Maven的远程库里没有这个资源,只能通过配置本地库来加载到J2EE工程里,做法如下: 第一步:在网上下载ojdbc14.jar,然 ...
- Mysql从库复制的2个问题
.为什么执行stop slave; 再start slave;可以继续主从关系呢? 其实执行stop slave;就是分别关闭了I/O线程(stop slave IO_THREAD;)和SQL线程(s ...
- [转]MFC下关于“建立空文档失败”问题的分析
这类问题的出现主要在bool CWinApp::ProcessShellCommand(CCommandLineInfo& rCmdInfo); 函数的关键内容: BOOL bResult = ...
- ps工具快捷键
1.覆盖图片原先文件--- 自由转换 快捷键 ctrl+t 1)首先选择一个背景色 点击或者ctrl+t 处于自由切换状态 可以进行上下拉伸 回车即可. 这样就覆盖了文件,且背景色和我们之前的一样. ...