机器学习初入门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 部署到服务器启动: 先进行打包, ...
随机推荐
- OpenCV学习参考 即时贴
注意:本博文在github上日常更新(保持GitHub最新) https://github.com/SylvesterLi/MyOpenCVCode 基本安装:https://blog.csdn.ne ...
- 关于Javascript的des加密
参考文章:https://www.cnblogs.com/MSMXQ/p/4484348.html 需要先下载CryptoJS文件,然后引入其中的两个文件,可以在github中找到. 直接上代码 &l ...
- Actor模式初步入门
Actor模型概念 Actor模型为并行而生,简单说是未解决高并发的一种编程思路.在Actor模型中,主角是Actor,类似一种worker,Actor彼此之间直接发送消息,不需要经过什么中介,消息是 ...
- Drupal使用
首先到https://www.drupal.org/download去下载Drupal 更好的办法是使用composer,这个先放着,了解后再添加 然后将解压后的文件夹整个复制到设置的部署路径下,因为 ...
- Node.js实战(四)之调试Node.js
当项目逐渐扩大以后,功能越来越多,这时有的时候需要增加或者修改,同时优化某些功能,就有可能出问题了.针对于线上Linux环境我们应该如何调试项目呢? 别怕,Node.js已经为我们考虑到了. 通过 n ...
- Android Fragment(三)ListFragment简单介绍以及Fragment之间通信
一.Fragment通信简单介绍:Fragments之间是不能够直接通信的,他们之间的通信是通过Activity这个中间件来通信的, 为了让Fragment跟它的Activity通信,我们可以在Fra ...
- oracle版本兼容问题
问题一描述:本机环境升级为vs2012升级TLS程序为framework4.0,本机ODAC为ODTwithODAC112030.本机为oracle10g本机程序生成成功,运行成功. 发布到服务器后, ...
- 学会如何使用Github进行托管代码和用markdown撰写心得
这次作业是学会如何使用Github进行托管代码和用markdown撰写心得. 1.掌握使用Git进行代码版本,使用github进行代码托管.(git使用,推荐imooc公开课: 公开课 ) 登录 gi ...
- STM32一键下载电路设计原理
先放原理图(补充:图中的BOOT0通过10K的电阻接到地),再解释为什么这么设计: STM32启动方式:BOOT0和 BOOT1用于设置 STM32的启动方式 ,见下表: BOOT0=1,BOOT1= ...
- In-Memory:内存优化表的DMV
SQL Server 在执行查询时,自动将活动的相关信息保存在内存中,这些活动信息称作DMV(Dynamic Management View),DMV记录SQL Server实例级别上的活动信息.由于 ...