20150926kaggle Titanic入门篇excel&python
1 excel数据透视表
这里主要是讲述了一下插入里面的数据透视表常用功能,数据透视表十分方便,比直接筛选还要简单,看数据很直观,这里大力推荐。
2 python&pandas
这里主要是讲述了pandas的一些基本用法,直接上代码吧。
2.1 pandas dataframe
文章所述pandas和R语言一样有dataframe,对于分析处理数据十分方便。
import pandas as pd
import numpy as np
##pandas自带读入csv的函数
df = pd.read_csv('train.csv', header=0)
print df
##查看数据前3行
print df.head(3)
##df类型为pandas.core.frame.DataFrame
print type(df)
##打印df各列数据类型
print df.dtypes
##打印df各列数据详细情况
print df.info()
##打印各列数据总数,均值,方差,最小值等等
print df.describe()
2.2 数据处理
print df['Age'][0:10]
print type(df['Age'])
print df['Age'].mean()
##以下是df里面筛选数据的各种用法
print df[ ['Sex', 'Pclass', 'Age'] ]
print df[df['Age'] > 60]
print df[df['Age'] > 60][['Sex', 'Pclass', 'Age', 'Survived']]
print df[df['Age'].isnull()][['Sex', 'Pclass', 'Age']]
for i in range(1,4):
print i, len(df[ (df['Sex'] == 'male') & (df['Pclass'] == i) ])
import pylab as P
df['Age'].hist()
P.show()
df['Age'].dropna().hist(bins=16, range=(0,80), alpha = .5)
P.show()
2.3清洗数据
##给df增添一列数据,并赋值
df['Gender'] = 4
df['Gender'] = df['Sex'].map( lambda x: x[0].upper() )
df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)
##求出满足df['Gender'] == i) & (df['Pclass'] == j+1)的各列数据去掉null后的均值,然后用其填充数据
median_ages = np.zeros((2,3))
for i in range(0, 2):
for j in range(0, 3):
median_ages[i,j] = df[(df['Gender'] == i) & (df['Pclass'] == j+1)]['Age'].dropna().median()
df['AgeFill'] = df['Age']
print df.head()
print df[ df['Age'].isnull() ][['Gender','Pclass','Age','AgeFill']].head(10)
for i in range(0, 2):
for j in range(0, 3):
df.loc[ (df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1),'AgeFill'] = median_ages[i,j]
print df[ df['Age'].isnull() ][['Gender','Pclass','Age','AgeFill']].head(10)
df['AgeIsNull'] = pd.isnull(df.Age).astype(int)
2.4特征工程
##有各种特征构造的方法,举例两种
df['FamilySize'] = df['SibSp'] + df['Parch']
df['Age*Class'] = df.AgeFill * df.Pclass
2.5最后准备
##删除类型为object的列数据
print df.dtypes
print df.dtypes[df.dtypes.map(lambda x: x=='object')]
df = df.drop(['Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1)
##删除Age这一列数据
df = df.drop(['Age'], axis=1)
##去掉有null的数据
df = df.dropna()
##返回一个数组格式给train_data
train_data = df.values
2.6随机森林
##使用sklearn里面的随机森林算法包
from sklearn.ensemble import RandomForestClassifier
forest = RandomForestClassifier(n_estimators = 100)
forest = forest.fit(train_data[0::,1::],train_data[0::,0])
output = forest.predict(test_data)
20150926kaggle Titanic入门篇excel&python的更多相关文章
- python学习之路入门篇
本文是up学习python过程中遇到的一些问题及总结归纳,本小节是入门篇. python基本语法 循环.分支不多赘述. 模块:一个.py文件就是一个模块. 文件和异常 模式 含义解释 “r” 读模式 ...
- Python网络爬虫入门篇
1. 预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...
- Python打开新世界的大门-入门篇1
目录 题记 Python技巧.避坑及心得 八种数据类型 循环 函数 Homework 题外话 之前没有写博客的习惯,现在开始写觉得入门也太晚了吧,看看同龄的大哥都写了十几万字.于是 ...
- 《python开发技术详解》|百度网盘免费下载|Python开发入门篇
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby 内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- Python系列之入门篇——HDFS
Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python ...
- Python系列之入门篇——MYSQL
Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...
- python入门篇
第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面向对象 第七篇:面向对象高级 第八篇:异常处理 第九篇:网络编程 第十篇:并 ...
随机推荐
- pyhton3多线程
from time import ctime,sleep def music(): for i in range(2): print ("I was listening to music. ...
- leetcode:Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...
- Gliffy Diagrams 好用的流程图工具
很好用!加上百度脑图!good!
- js案例_下滑列表
1.HTML布局(使用ul): <body> <ul> <li class="list" id="lis"> <a h ...
- mac下编译optool方法
参考地址:http://www.mopsled.com/2016/build-optool-osx/ 1.git clone https://github.com/alexzielenski/opto ...
- 【英语】Bingo口语笔记(73) - 以tly,tely结尾的误读
- 虚拟机安装centos 6 报错Erro processing drive
错误提示: Error processing drive: pci-0000:00:10-scsi-0:0:0:0 20480MB VMware,VMware Virtual S This devic ...
- jad安装
见:http://www.myexception.cn/eclipse/1469829.html 最开始看了一个坑爹的博客,由于是低级菜鸟一直被误导(设置的是.class的打开方式) 执行完链接够的步 ...
- Arduino "Card failed, or not present"(即找不到SD卡)错误解决方案
http://forum.arduino.cc/index.php?topic=28763.0 Arduino SD自带的例程都是有一个BUG的,必须在pinMode后面加上如下的第二行代码 pinM ...
- jquery easyui datagrid字段绑定问题
表字段为G_XIAN,生成PO对象时为private String GXian; datagrid字段必须写为gXian,否则数据无法正确绑定. 总结:不管VO对象中字段名称首字母是否大写,在data ...