当前位置: 首页 > news >正文

查公司信息的国家网站/广告推广代运营公司

查公司信息的国家网站,广告推广代运营公司,摄影网站 蜂鸟,长春建站方案复习:这门课程得主要目的是通过真实的数据,以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后,我们接下来我们要正式的开始数据分析的实战教学,完成kaggle上泰坦尼克的任务,实战数据分析全流程…

复习:这门课程得主要目的是通过真实的数据,以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作。知道了课程的目的之后,我们接下来我们要正式的开始数据分析的实战教学,完成kaggle上泰坦尼克的任务,实战数据分析全流程。
这里有两份资料:
教材《Python for Data Analysis》和 baidu.com &
google.com(善用搜索引擎)

1 第一章:数据载入及初步观察

1.1 载入数据

数据集下载 https://www.kaggle.com/c/titanic/overview

1.1.1 任务一:导入numpy和pandas

#写入代码
import numpy as np
import pandas as pd

【提示】如果加载失败,学会如何在你的python环境下安装numpy和pandas这两个库

1.1.2 任务二:载入数据

(1) 使用相对路径载入数据
(2) 使用绝对路径载入数据

import os
os.getcwd()
'C:\\Users\\yan\\Desktop\\DataWhale\\hands-on-data-analysis-master\\第一单元项目集合'
#写入代码
train_relative_data = r"train.csv"
train_absolute_data = r"C:/Users/yan/Desktop/DataWhale/hands-on-data-analysis-master/第一单元项目集合/train.csv"
#写入代码
train_r_data = pd.read_csv(train_relative_data)
train_r_data.head(3)
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
train_r_data2 = pd.read_table(train_relative_data)
train_r_data2.head(3)
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
01,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/...
12,1,1,"Cumings, Mrs. John Bradley (Florence Br...
23,1,3,"Heikkinen, Miss. Laina",female,26,0,0,S...
"""
TSV与CSV的区别:
1)从名称上即可知道,TSV是用制表符(Tab,'\t')作为字段值的分隔符;CSV是用半角逗号(',')作为字段值的分隔符;
2)IANA规定的标准TSV格式,字段值之中是不允许出现制表符的。read_csv和read_table都是是加载带分隔符的数据,每一个分隔符作为一个数据的标志,但二者读出来的数据格式还是不一样的,
read_table是以制表符 \t 作为数据的标志,也就是以行为单位进行存储。
"""

【提示】相对路径载入报错时,尝试使用os.getcwd()查看当前工作目录。
【思考】知道数据加载的方法后,试试pd.read_csv()和pd.read_table()的不同,如果想让他们效果一样,需要怎么做?了解一下’.tsv’和’.csv’的不同,如何加载这两个数据集?
【总结】加载的数据是所有工作的第一步,我们的工作会接触到不同的数据格式(eg:.csv;.tsv;.xlsx),但是加载的方法和思路都是一样的,在以后工作和做项目的过程中,遇到之前没有碰到的问题,要多多查资料吗,使用googel,了解业务逻辑,明白输入和输出是什么。

1.1.3 任务三:每1000行为一个数据模块,逐块读取

#写入代码
df = pd.read_csv(train_absolute_data,chunksize=1000)
print(type(df))      #<class 'pandas.io.parsers.TextFileReader'>
for chunk in df:print(chunk)print(type(chunk))   #<class 'pandas.core.frame.DataFrame'>
<class 'pandas.io.parsers.TextFileReader'>PassengerId  Survived  Pclass  \
0              1         0       3   
1              2         1       1   
2              3         1       3   
3              4         1       1   
4              5         0       3   
..           ...       ...     ...   
886          887         0       2   
887          888         1       1   
888          889         0       3   
889          890         1       1   
890          891         0       3   Name     Sex   Age  SibSp  \
0                              Braund, Mr. Owen Harris    male  22.0      1   
1    Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   
2                               Heikkinen, Miss. Laina  female  26.0      0   
3         Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   
4                             Allen, Mr. William Henry    male  35.0      0   
..                                                 ...     ...   ...    ...   
886                              Montvila, Rev. Juozas    male  27.0      0   
887                       Graham, Miss. Margaret Edith  female  19.0      0   
888           Johnston, Miss. Catherine Helen "Carrie"  female   NaN      1   
889                              Behr, Mr. Karl Howell    male  26.0      0   
890                                Dooley, Mr. Patrick    male  32.0      0   Parch            Ticket     Fare Cabin Embarked  
0        0         A/5 21171   7.2500   NaN        S  
1        0          PC 17599  71.2833   C85        C  
2        0  STON/O2. 3101282   7.9250   NaN        S  
3        0            113803  53.1000  C123        S  
4        0            373450   8.0500   NaN        S  
..     ...               ...      ...   ...      ...  
886      0            211536  13.0000   NaN        S  
887      0            112053  30.0000   B42        S  
888      2        W./C. 6607  23.4500   NaN        S  
889      0            111369  30.0000  C148        C  
890      0            370376   7.7500   NaN        Q  [891 rows x 12 columns]
<class 'pandas.core.frame.DataFrame'>

【思考】什么是逐块读取?为什么要逐块读取呢?

【提示】大家可以chunker(数据块)是什么类型?用for循环打印出来出处具体的样子是什么?

# 有时候对于一个大的csv文件,一下子读到内存会非常耗费内存空间,所以用chunksize进行分块
# chunker是dataframe类型

1.1.4 任务四:将表头改成中文,索引改为乘客ID [对于某些英文资料,我们可以通过翻译来更直观的熟悉我们的数据]

PassengerId => 乘客ID
Survived => 是否幸存
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口

#写入代码
str_info = """
PassengerId => 乘客ID
Survived => 是否幸存
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口
"""
mapper = {}
for s in str_info.strip().split('\n'):L = s.split('=>',1) #返回的是一个listmapper[L[0]] = L[1]
print(mapper)
# for chunk in df:
#     chunk.rename(columns=mapper)
#     print(chunk.head())
#方式一
train_r_data.columns = mapper.values()
train_r_data.set_index(' 乘客ID', inplace=True)
train_r_data.head()
{'PassengerId ': ' 乘客ID', 'Survived ': ' 是否幸存', 'Pclass ': ' 乘客等级(1/2/3等舱位)', 'Name ': ' 乘客姓名', 'Sex ': ' 性别', 'Age ': ' 年龄', 'SibSp ': ' 堂兄弟/妹个数', 'Parch ': ' 父母与小孩个数', 'Ticket ': ' 船票信息', 'Fare ': ' 票价', 'Cabin ': ' 客舱', 'Embarked ': ' 登船港口'}
是否幸存乘客等级(1/2/3等舱位)乘客姓名性别年龄堂兄弟/妹个数父母与小孩个数船票信息票价客舱登船港口
乘客ID
103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
503Allen, Mr. William Henrymale35.0003734508.0500NaNS
# 方式二
print(mapper)
train_r_data_new = pd.read_csv(train_relative_data)
train_r_data_new.set_index('PassengerId', inplace=True)
train_r_data_new.rename(columns=mapper,inplace=True)
train_r_data_new.head(3)
{'PassengerId ': ' 乘客ID', 'Survived ': ' 是否幸存', 'Pclass ': ' 乘客等级(1/2/3等舱位)', 'Name ': ' 乘客姓名', 'Sex ': ' 性别', 'Age ': ' 年龄', 'SibSp ': ' 堂兄弟/妹个数', 'Parch ': ' 父母与小孩个数', 'Ticket ': ' 船票信息', 'Fare ': ' 票价', 'Cabin ': ' 客舱', 'Embarked ': ' 登船港口'}
SurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
PassengerId
103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
df.head()
是否幸存仓位等级姓名性别年龄兄弟姐妹个数父母子女个数船票信息票价客舱登船港口
乘客ID
103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
503Allen, Mr. William Henrymale35.0003734508.0500NaNS

【思考】所谓将表头改为中文其中一个思路是:将英文列名表头替换成中文。还有其他的方法吗?

# 直接用DataFrame中的rename()

1.2 初步观察

导入数据后,你可能要对数据的整体结构和样例进行概览,比如说,数据大小、有多少列,各列都是什么格式的,是否包含null等

1.2.1 任务一:查看数据的基本信息

#写入代码
train_r_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):#   Column           Non-Null Count  Dtype  
---  ------           --------------  -----  0    乘客ID            891 non-null    int64  1    是否幸存            891 non-null    int64  2    乘客等级(1/2/3等舱位)  891 non-null    int64  3    乘客姓名            891 non-null    object 4    性别              891 non-null    object 5    年龄              714 non-null    float646    堂兄弟/妹个数         891 non-null    int64  7    父母与小孩个数         891 non-null    int64  8    船票信息            891 non-null    object 9    票价              891 non-null    float6410   客舱              204 non-null    object 11   登船港口            889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
train_r_data.describe()
乘客ID是否幸存乘客等级(1/2/3等舱位)年龄堂兄弟/妹个数父母与小孩个数票价
count891.000000891.000000891.000000714.000000891.000000891.000000891.000000
mean446.0000000.3838382.30864229.6991180.5230080.38159432.204208
std257.3538420.4865920.83607114.5264971.1027430.80605749.693429
min1.0000000.0000001.0000000.4200000.0000000.0000000.000000
25%223.5000000.0000002.00000020.1250000.0000000.0000007.910400
50%446.0000000.0000003.00000028.0000000.0000000.00000014.454200
75%668.5000001.0000003.00000038.0000001.0000000.00000031.000000
max891.0000001.0000003.00000080.0000008.0000006.000000512.329200
train_r_data.memory_usage()
Index               128乘客ID              7128是否幸存              7128乘客等级(1/2/3等舱位)    7128乘客姓名              7128性别                7128年龄                7128堂兄弟/妹个数           7128父母与小孩个数           7128船票信息              7128票价                7128客舱                7128登船港口              7128
dtype: int64

【提示】有多个函数可以这样做,你可以做一下总结

1.2.2 任务二:观察表格前10行的数据和后15行的数据

#写入代码
train_r_data[:10]#或者用train_r_data.head(10)
乘客ID是否幸存乘客等级(1/2/3等舱位)乘客姓名性别年龄堂兄弟/妹个数父母与小孩个数船票信息票价客舱登船港口
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
6701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
7803Palsson, Master. Gosta Leonardmale2.03134990921.0750NaNS
8913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female27.00234774211.1333NaNS
91012Nasser, Mrs. Nicholas (Adele Achem)female14.01023773630.0708NaNC
#写入代码 
train_r_data[-15:]  #或者用train_r_data.tail(15)
乘客ID是否幸存乘客等级(1/2/3等舱位)乘客姓名性别年龄堂兄弟/妹个数父母与小孩个数船票信息票价客舱登船港口
87687703Gustafsson, Mr. Alfred Ossianmale20.00075349.8458NaNS
87787803Petroff, Mr. Nedeliomale19.0003492127.8958NaNS
87887903Laleff, Mr. KristomaleNaN003492177.8958NaNS
87988011Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)female56.0011176783.1583C50C
88088112Shelley, Mrs. William (Imanita Parrish Hall)female25.00123043326.0000NaNS
88188203Markun, Mr. Johannmale33.0003492577.8958NaNS
88288303Dahlberg, Miss. Gerda Ulrikafemale22.000755210.5167NaNS
88388402Banfield, Mr. Frederick Jamesmale28.000C.A./SOTON 3406810.5000NaNS
88488503Sutehall, Mr. Henry Jrmale25.000SOTON/OQ 3920767.0500NaNS
88588603Rice, Mrs. William (Margaret Norton)female39.00538265229.1250NaNQ
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen "Carrie"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ

1.2.4 任务三:判断数据是否为空,为空的地方返回True,其余地方返回False

#写入代码
# 主要api可以用pd.isna()  pd.isnull() 
train_r_data_new.isna().head(10)
SurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
PassengerId
1FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
2FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
3FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
4FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
5FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
6FalseFalseFalseFalseTrueFalseFalseFalseFalseTrueFalse
7FalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
8FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
9FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse
10FalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalse

【总结】上面的操作都是数据分析中对于数据本身的观察

【思考】对于一个数据,还可以从哪些方面来观察?找找答案,这个将对下面的数据分析有很大的帮助

# 个人觉得应该从数据类型、数据取值范围(是数值列还是分类列)

1.3 保存数据

1.3.1 任务一:将你加载并做出改变的数据,在工作目录下保存为一个新文件train_chinese.csv

train_r_data.head(3)
是否幸存乘客等级(1/2/3等舱位)乘客姓名性别年龄堂兄弟/妹个数父母与小孩个数船票信息票价客舱登船港口
乘客ID
103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
#写入代码
# 注意:不同的操作系统保存下来可能会有乱码。大家可以加入`encoding='GBK' 或者 ’encoding = ’utf-8‘‘`
train_r_data.to_csv('train_chinese2.csv')

【总结】数据的加载以及入门,接下来就要接触数据本身的运算,我们将主要掌握numpy和pandas在工作和项目场景的运用。

遇到的问题,关于使用pd中的DataFrame模块下的rename函数用的不对,查看了https://www.cjavapy.com/article/713/ pd的API文档还是没弄清楚具体原因,等会在补充。

检查了一下代码,发现 第一个程序构造mapper有问题

# 方式二
str_info = """
PassengerId => 乘客ID
Survived => 是否幸存
Pclass => 乘客等级(1/2/3等舱位)
Name => 乘客姓名
Sex => 性别
Age => 年龄
SibSp => 堂兄弟/妹个数
Parch => 父母与小孩个数
Ticket => 船票信息
Fare => 票价
Cabin => 客舱
Embarked => 登船港口
"""
mapper = {}
for s in str_info.strip().split('\n'):L = s.split(' => ',1) #返回的是一个list   由于空格而造成的之前一致没找到正确的keymapper[L[0]] = L[1]
print(mapper)
train_r_data_new = pd.read_csv(train_relative_data)

1

http://www.jmfq.cn/news/4756141.html

相关文章:

  • 优化型网站建设的基本要求/网店推广的作用是
  • 主流网站/网络广告电话
  • 企业建设网站方案/百度投放广告流程
  • 湖南大型网站建设/怎样制作网页新手自学入门
  • 咋做网站/广告营销是做什么的
  • 某商贸网站建设方案/网络推广用什么软件好
  • 河南高端网站建设/百度推广开户需要多少钱
  • 有域名了怎么建立网站/百度推广电话
  • 烟台建站价格/今日十大热点新闻头条
  • 福州网站怎么做的/厦门网站流量优化价格
  • 做一个赚钱的网站/短视频培训
  • 百度网站建设目标/风云榜小说排行榜
  • 网站开发用什么服务器/如何看待百度竞价排名
  • 阳泉那有做网站的/凡科建站怎么用
  • wordpress建站方向/新闻热点事件
  • 网站制作明细报价表/河北seo人员
  • wordpress新浪图/班级优化大师免费下载安装
  • 深圳做网站最好的公/深圳sem竞价托管
  • 李志自己做网站/我想在百度发布信息
  • 小程序开发教程下载/太原百度seo
  • 网站用户黏度表现在/网站收录网
  • wordpress登入不进去/电脑优化是什么意思
  • 河南做网站公司哪家专业/电商网站项目
  • 做条形图的网站/seo推广百度百科
  • dede系统做的网站如何调用cu3er官网flash 3d焦点图/温州百度推广公司电话
  • 美橙互联网站/百度软件下载
  • 有关做聚合物电池公司的网站/自动点击器app
  • 汕头企业制作网站推广/海外推广渠道都有哪些
  • 代理登陆网站/三亚网络推广
  • 用自己电脑做服务器建网站/企业产品营销策划推广