转自: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. Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server

    改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "use ...

  2. web基础----->jersey整合jetty开发restful应用(一)

    这里介绍一个jersey与jetty整合开发restful应用的知识.将过去和羁绊全部丢弃,不要吝惜那为了梦想流下的泪水. jersey与jetty的整合 一.创建一个maven项目,pom.xml的 ...

  3. LeetCode 40 Combination Sum II(数组中求和等于target的所有组合)

    题目链接:https://leetcode.com/problems/combination-sum-ii/?tab=Description   给定数组,数组中的元素均为正数,target也是正数. ...

  4. 让google.com不跳转到google.com.hk

    自从google的服务器搬离中国大陆后,大陆地区用户用google服务时会自动跳转到香港的http://google.com.hk,,有关键字过滤而且偶尔不是很稳定,这对我们的生活工作都造成了困扰. ...

  5. 基于spring-cloud的微服务(2) eureka服务提供方的注册和消费方的消费

    启动Eureka注册中心之后,服务提供方就可以注册到Eureka上去(作为一个Eureka的客户端) 我们使用IDEA提供的spring initializer来新建一个springcloud项目 填 ...

  6. 【咸鱼教程】Base64

    教程目录1 Base64简介2 使用Base643 Demo下载 1 Base64简介百度百科:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2 ...

  7. python nose测试框架全面介绍四

    四.内部插件介绍 1.Attrib 标记,用于筛选用例 在很多时候,用例可以分不同的等级来运行,在nose中很增加了这个功能,使用attrib将用例进行划分 有两种方式: ef test_big_do ...

  8. url写法细节

  9. IE 兼容一问题一小记

    记录一下上一周做的一个门户网站!因为兼容问题折腾了我一天时间,今天有空了就把其中坑记录一下! 1.轮换效果不能显示出1.2.3... (ie7不行,大于ie7的可以),原因就是因为,js对象的最一个个 ...

  10. hdu4513完美队形II manacher

    吉哥又想出了一个新的完美队形游戏!  假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要 ...