转自: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. Stratix内嵌存储器测试报告

         Stratix和Stratix GX系列器件内嵌TriMatrix存储块包括512-bit M512块.4-Kbit M4K块及512-Kbit M-RAM块.TriMatrix存储结构可对 ...

  2. java高级---->Thread之Phaser的使用

    Phaser提供了动态增parties计数,这点比CyclicBarrier类操作parties更加方便.它是jdk1.7新增的类,今天我们就来学习一下它的用法.尘埃落定之后,回忆别来挑拨. Phas ...

  3. office excel Query 功能

    Microsoft Query 合并查询 Excel 2016 默认已集成 Power Query 功能

  4. css修改select默认样式

    先来看看效果图: css: <style media="screen"> .select_demo, .select_list { width: 400px; heig ...

  5. Linux下常用命令wget的使用技巧

    Linux下wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员 经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的 ...

  6. iOS 面试题整理(带答案)二

    第一篇面试题整理: http://www.cocoachina.com/bbs/read.php?tid-459620.html 本篇面试题同样:如答案有问题,欢迎指正! 1.回答person的ret ...

  7. C#控制台窗口居中显示(转)

    private struct RECT { public int left, top, right, bottom; } [DllImport("kernel32.dll", Se ...

  8. Python通过正则表达式去除(过滤)HTML标签,提取文字

    # -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...

  9. 1.8TF的分类

    TF识别手写体识别分类 #-*- coding: utf-8 -*- # @Time : 2017/12/26 15:42 # @Author : Z # @Email : S # @File : 1 ...

  10. 如何快速创建提交一个项目到Github

    1.https://github.com创建一个repository 2.本地创建一个文件夹A 3.命令行转到新文件夹A,执行git init使其能被git管理,并生成.git隐藏文件 4.如内容,应 ...