BGD-py实现学习【1】[转载]
转自:https://github.com/icrtiou/Coursera-ML-AndrewNg
1.源码-对数据读取
import numpy as np import pandas as pddef get_X(df):"""use concat to add intersect feature to avoid side effectnot efficient for big dataset though"""ones = pd.DataFrame({'ones': np.ones(len(df))})#返回某一长度的全为1的array,这是一个字典data = pd.concat([ones, df], axis=1) # column concat #按列合并,加上一列1,为b使用return data.iloc[:, :-1].as_matrix() # this return ndarray, not matrix,选取最后一列作为多维数组返回def get_y(df):'''assume the last column is the target'''return np.array(df.iloc[:, -1])#选最后一列def normalize_feature(df):"""Applies function along input axis(default 0) of DataFrame."""return df.apply(lambda column: (column - column.mean()) / column.std())
1.pandas数据结构Series
转自:https://www.cnblogs.com/linux-wangkun/p/5903380.html
1.1生成指定Series对象
默认的索引是从0开始。
1.2 生成指定索引
//还有其他的一些知识点,根据字典创建以及自动对齐操作等。
2.pd中的concat函数
转自:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html?highlight=concat
concat函数就是对两个对象进行拼接,默认的axis是0,有点像R中的rbind函数(按行合并),默认是按行合并;
若axis为1,那么即按列合并。
//讲的挺详细的,还有合并两个列名分别相同的数据框,如果列名不完全一样,则用NA补齐。
2.1 内连接
通过join=inner进行内连接合并,对有相同列名的进行合并,然后返回。
join=outer则是取并集,上面是取交集。
3.data.iloc与loc函数
转自:https://blog.csdn.net/llx1026/article/details/77722608
import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))结果df:a b c 0 0 2 4 1 6 8 10 2 12 14 16 3 18 20 22 4 24 26 28 5 30 32 34 6 36 38 40 7 42 44 46 8 48 50 52 9 54 56 58
其中loc是索引是字符串时使用,iloc是索引是数字时使用,可以实现数据切片。
注意使用df.loc如果取列的话,需要是[:,'列名'],如果直接df.loc['b']报错。
df.loc[0:3, ['a', 'b']]#取出0,1,2,3行的a,b两列,#如果只取一列那么就这样写df.loc[0:3, 'a']#如果取多列,那么要把列用[]放在一起如df.loc[0:3, ['a', 'b']] 输出:a b 0 0 2 1 6 8 2 12 14 3 18 20
#不想抽取连续的行和列,那么就需要用[]把要取的行和列都列出来 #如下 df.loc[[1, 5], ['b', 'c']]或df.loc[[1, 5]][['b', 'c']]
如果嫌列名太长,则使用iloc
下面的是取全部的行和列。
另一种格式,用这个的话会十分省代码:
还有一种就是如下的格式,意思是取出df中第a列中元素等于6的那一行的b列和c列:
df.loc[df['a'] == 6][['b', 'c']]
//厉害了。
//这一句的意思就是,取所有行,并且列怎么取?-1这里表示最后一列,也就是除去最后一列。
4.lamda和DataFrame.apply 函数
转载于:https://www.cnblogs.com/BlueBlueSea/p/10245920.html
BGD-py实现学习【1】[转载]相关推荐
- 实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 109 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCogn
实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 标签: 109 编辑 删除 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 ...
- 【日语】日语学习计划(转载)
日语学习计划(转载) 怎样才能学好日语(转载) 如果您打算开始学习日语,但几乎还没什么基础的朋友,那您如果有兴趣可以看看这篇文章. 首先是明确自己学习日语的目的,哪怕只是为了兴趣也没关系,并制定自己的 ...
- YOLOv4学习资源转载
YOLOv4学习资源转载 Redmon写完YOLOv3,退出计算机视觉领域之后,又有其他大佬推动着这一目标检测神器的发展.YOLOv4我没有看原论文,而是找了一些博客资源进行学习,现在把我找到的博客资 ...
- 我的DDK学习经验(转载)
这篇文章在无数技术网站都找的到.我在这里发这篇文章的原因: 1.这篇文章实在很好.别说作者倾情的介绍了自己的经验和感想(尤其是关于"钱途"的感想),里面介绍的一些书,真够有志开发驱 ...
- ecos 学习资料(转载)
ecos 学习资料(转载) 一.英文资料 1.ecos home page:http://ecos.sourceware.org/ 2.ecos user guid:http://ecos.sourc ...
- Py中re.sub学习【转载】
转自:https://www.crifan.com/python_re_sub_detailed_introduction/ //这个网址讲的不错. 1.re.sub的功能 re是regular ex ...
- makefile学习(转载)
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...
- 网络流学习(转载自ssw 的博客)
众所周知,网络流是探究网络上运输的一种图论分支.但是大多数人在第一次接触这个题时都有些畏惧感(比如说我),大佬可以自信跳过.. 本文包括: 1.网络流的概念及基本性质 2.略谈 Edmonds-Kar ...
- Hadoop家族学习路线图--转载
原文地址:http://blog.fens.me/hadoop-family-roadmap/ Sep 6, 2013 Tags: Hadoophadoop familyroadmap Comment ...
- Spring Boot详细学习地址转载
阿里中间件牛人,学习榜样,源码分析: https://fangjian0423.github.io/ 基础.详细.全面的教程: https://gitee.com/roncoocom/spring-b ...
最新文章
- C# 函数覆盖总结学习
- 第80节:Java中的MVC设计模式
- LIVE555再学习 -- testRTSPClient 实例
- 层次分解位置编码,让BERT可以处理超长文本
- boost::gil::ColorBaseConcept用法的测试程序
- piovt table python_python – Pandas:pivot和pivot_table之间的区别...
- 设计抗100亿请求的春晚红包系统
- Redis如何实现刷抖音不重复-布隆过滤器(Bloom Filter)
- paddleocr常见问题(3)
- python使用python-docx导出word
- springboot系列十二、springboot集成RestTemplate及常见用法
- Video Analysis 相关领域解读之Video Captioning(视频to文字描述)
- js设计模式——8.中介者模式
- UVA 167 - The Sultan's Successors
- python三引号的作用有哪些_Python中3种引号的作用与区别
- Joplin实现样式更改
- 360n6pro刷鸿蒙系统,因太费电想刷系统,N6Pro哪个版本的系统耗电少,有什么问题或缺点...
- 清明 祭拜于形,感恩于心
- 函数名作为字符串输出(Function Names as Strings)
- 03-图像分割效果评估
热门文章
- 牛客网刷题知识汇总2
- ASP.NET页面刷新的实现方法
- log4net简单配置与应用
- Sharding-JDBC水平分表(环境搭建)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记007
- ES6新特性_ES6扩展运算符的介绍---JavaScript_ECMAScript_ES6-ES11新特性工作笔记013
- Unity3D引擎工作笔记0002---Unity3D 5下载安装
- STM32工作笔记0071---内存管理实验
- 测试工作笔记001---web测试_工作经验_注意点_随时更新
- VB.NET在线升级程序源代码,可以独立使用
- android学习笔记---39_采用Service实现电话监控器,刻录打电话者的声音后通过socket上传到服务端