转自:https://github.com/icrtiou/Coursera-ML-AndrewNg

1.源码-对数据读取

import numpy as np
import pandas as pd def get_X(df):
"""
use concat to add intersect feature to avoid side effect
not 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(,,).reshape(,),columns=list('abc')) 结果df:
a b c

其中loc是索引是字符串时使用,iloc是索引是数字时使用,可以实现数据切片

注意使用df.loc如果取列的话,需要是[:,'列名'],如果直接df.loc['b']报错。

df.loc[:, ['a', 'b']]#取出0,,,3行的a,b两列,
#如果只取一列那么就这样写df.loc[:, 'a']
#如果取多列,那么要把列用[]放在一起如df.loc[:, ['a', 'b']]
输出:
a b
#不想抽取连续的行和列,那么就需要用[]把要取的行和列都列出来
#如下
df.loc[[, ], ['b', 'c']]或df.loc[[, ]][['b', 'c']]

如果嫌列名太长,则使用iloc

下面的是取全部的行和列。

另一种格式,用这个的话会十分省代码:

还有一种就是如下的格式,意思是取出df中第a列中元素等于6的那一行的b列和c列

df.loc[df['a'] == ][['b', 'c']]

//厉害了。

//这一句的意思就是,取所有行,并且列怎么取?-1这里表示最后一列,也就是除去最后一列。

4.lamda和DataFrame.apply 函数

BGD-py实现学习【1】[转载]的更多相关文章

  1. Py中re.sub学习【转载】

    转自:https://www.crifan.com/python_re_sub_detailed_introduction/ //这个网址讲的不错. 1.re.sub的功能 re是regular ex ...

  2. Py中的多维数组ndarray学习【转载】

    转自:http://blog.sciencenet.cn/home.php?mod=space&uid=3031432&do=blog&id=1064033 1. NumPy中 ...

  3. Py之pandas:dataframe学习【转载】

    转自:https://www.tutorialspoint.com/python_pandas/python_pandas_dataframe.htm 1.数据框4特性 列是不同类型的数据元素. 每列 ...

  4. Python程序员技能表—446家知名企业的Py招聘信息(转载)

    Python程序员技能表—446家知名企业的Py招聘信息 转载: python 正在学习python或者想学习python的可以加群:330637182 正在学习python或者想学习python的可 ...

  5. Github上安卓榜排名第2的程序员教你如何学习【转载,侵删】

    来自:峰瑞资本(微信号:freesvc)文章作者:代码家(微信 ID:daimajia_share) 软件早已吞噬整个世界,程序员是关键角色.过去 40 年中,许多伟大的公司都由程序员缔造,比如比尔· ...

  6. Android之动画的学习(转载)

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  7. Redis学习手册——转载

    转载出处:http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html 为什么自己当初要选择Redis作为数据存储解决方案中 ...

  8. DIV+CSS系统学习:转载

    第一部分 HTML 第一章 职业规划和前景 职业方向规划定位: web前端开发工程师 web网站架构师 自己创业 转岗管理或其他 web前端开发的前景展望: 未来IT行业企业需求最多的人才 结合最新的 ...

  9. paper 53 :深度学习(转载)

    转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...

  10. Hadoop家族学习路线图--转载

    原文地址:http://blog.fens.me/hadoop-family-roadmap/ Sep 6, 2013 Tags: Hadoophadoop familyroadmap Comment ...

随机推荐

  1. IT零起步-CentOS6.4部署OpenVPN服务器

    OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,实现二/三层的基于隧道的VPN.最早由James Yonan编写.OpenVPN允许创建的VPN使用公开密钥.数字证书.或者用户名/密码来进行 ...

  2. 浅谈CSS盒子模型

    [摘要]盒子模型是CSS中的一个重要概念,虽然CSS中没有盒子这个单独的属性对象,但它却是CSS中无处不在的一个重要组成部分.掌握盒子模型的原理和使用方法可以极大地丰富HTML元素的表现效果,同时对于 ...

  3. c++ 单步查看汇编代码【转】

    form here 用gdb 查看汇编代码, 采用disassemble 和 x 命令. nexti, stepi 可以单步指令执行 如下例: ---------------------------- ...

  4. 【java工具】AES CBC加密

    一.定义 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先 ...

  5. gulp生成发布包脚本

    var formPost = require('./tools/submit.js');var gulp = require('gulp'), zip = require('gulp-zip'), h ...

  6. Eclipse的控制台console经常闪现

    Eclipse的控制台console有时候经常闪现!  让它不经常的调出来,可以按下面的操作去掉它: windows  ->   preferences   ->  run/debug   ...

  7. sencha touch 常见问题解答(26-50)

    26.sencha touch在华为.红米等部分手机下hide事件失效,msgbox无法关闭怎么办 答:请看http://www.cnblogs.com/cjpx00008/p/3535557.htm ...

  8. Doxygen生成C++中文文档配置注意事项

    打开对应的Doxyfile,修改如下: 1.OUTPUT_LANGUAGE = Chinese. 2.INPUT_ENCODING  = GB2312.

  9. 添加Net4CollectionTypeFactory的原因

    .NET4.0已经实现了该功能 http://jahav.com/blog/nhibernate-using-net-4-iset/ NHibernate using .NET 4 ISet 0 Co ...

  10. Xcode - 打开工程,提示No Scheme解决

    错误提示,如图: 解决思路: