当前位置:网站首页>数据分析入门 | kaggle泰坦尼克任务(一)—>数据加载和初步观察
数据分析入门 | kaggle泰坦尼克任务(一)—>数据加载和初步观察
2022-07-26 10:27:00 【猿知】

一、数据加载
本次主要以实战的方式了解数据分析的流程和熟悉数据分析python的基本操作,完成kaggle上泰坦尼克的任务,实战数据分析全流程。可以参考的图书《Python for Data Analysis》。
数据集:https://www.kaggle.com/c/titanic/overview
(1)载入数据
这里主要使用numpy和pandas库
import numpy as np
import pandas as pd
载入数据时可以选择使用相对路径或者绝对路径载入数据
df = pd.read_csv('train.csv')
df.head(3)
这里也可以使用read_table()读取数据,不过read_table是按照\t分割,而read_csv()是按照逗号,这里如果使用了table可以加入参数 sep = ','实现和read_csv一样的效果。
(2)逐块读取
日常数据分析工作中,难免碰到数据量特别大的情况,动不动就2、3千万行,如果直接读进 Python 内存中,且不说内存够不够,读取的时间和后续的处理操作都很费劲。
Pandas 的 read_csv 函数提供2个参数:chunksize、iterator ,可实现按行多次读取文件,避免内存不足情况。
使用语法为:
- iterator : boolean, default False
返回一个TextFileReader 对象,以便逐块处理文件。 - chunksize : int, default None
文件块的大小, See IO Tools docs for more informationon iterator and chunksize.
chunker = pd.read_csv('train.csv',chunksize = 1000)
<pandas.io.parsers.TextFileReader at 0x2087ab29040>
pandas.read_csv 参数 chunksize 通过指定一个分块大小(每次读取多少行)来读取大数据文件,可避免一次性读取内存不足,返回的是一个可迭代对象TextFileReader 。
指定 iterator=True 也可以返回一个可迭代对象 TextFileReader 。iterator=True 和 chunksize 可以同时指定使用。
chunker = pd.read_csv('train.csv', chunksize=100)
for i, chunk in enumerate(chunker):
print(i,' ',len(chunk))
0 100
1 100
2 100
3 100
4 100
5 100
6 100
7 100
8 91
再看一个合并数据的代码:
import pandas as pd
df = [pd.read_csv('./data/data_' + str(i) + '.csv') for i in range(5)] #列表推导式
data = pd.concat(df, axis=0).reset_index(drop=True) # 合并
data.head()
data.tail()
当 axis = 0 时,pd.concat 实现列对齐合并。
分块读取文件demo例程:
import feather
import pandas as pd
filePath = r'data_csv.csv'
def read_csv_feature(filePath):
# 读取文件
f = open(filePath, encoding='utf-8')
reader = pd.read_csv(f, sep=',', iterator=True)
loop = True
chunkSize = 1000000
chunks = []
while loop:
try:
chunk = reader.get_chunk(chunkSize)
chunks.append(chunk)
except StopIteration:
loop = False
print('Iteration is END!!!')
df = pd.concat(chunks, axis=0, ignore_index=True)
f.close()
return df
data = read_csv_feature(filePath)
二、初步观察
导入数据后需要对数据的整体结构和样例进行概览,比如数据大小、格式等等。
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PassengerId 891 non-null int64
1 Survived 891 non-null int64
2 Pclass 891 non-null int64
3 Name 891 non-null object
4 Sex 891 non-null object
5 Age 714 non-null float64
6 SibSp 891 non-null int64
7 Parch 891 non-null int64
8 Ticket 891 non-null object
9 Fare 891 non-null float64
10 Cabin 204 non-null object
11 Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
df.head(10) #输出前10行数据
df.tail(15) #输出后15行数据
df.isnall().head() #判断数据是否为空
df.to_csv('train_chinese.csv')
# 注意:不同的操作系统保存下来可能会有乱码。大家可以加入`encoding='GBK' 或者 ’encoding = ’utf-8‘‘`
数据分析入门 | kaggle泰坦尼克任务 系列持续更新,欢迎
点赞收藏+关注
上一篇:数据分析入门 | kaggle泰坦尼克任务
下一篇:数据分析入门 | kaggle泰坦尼克任务(二)—>pandas基础
本人水平有限,文章中不足之处欢迎下方评论区批评指正~如果感觉对你有帮助,点个赞 支持一下吧 ~
不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 我的博客 ,期待在这与你相遇 ~
边栏推荐
- Like, "new programmer" e-book is free for a limited time!
- [Halcon vision] image filtering
- 【Halcon视觉】软件编程思路
- 结构体操作报错:Segmentation fault (core dumped)
- 简单化构造函数的继承方法(一)- 组合继承
- The software cannot be opened
- MLX90640 红外热成像仪测温传感器模块开发笔记(六)
- 2022/07/25------字符串的排列
- SPARK中 DS V2 push down(下推)的一些说明
- 【socket】三次握手是在listen中完成,accept只从完成连接的队列中拿出一个连接
猜你喜欢
随机推荐
The difference between equals and = =
The reason why go language is particularly slow to develop run and build commands
Introduction to latex, EPS picture bounding box
[Qualcomm][Network] qti服务分析
【Halcon视觉】阈值分割
30 minutes to thoroughly understand the synchronized lock upgrade process
Cause: couldn‘t make a guess for 解决方法
Tower of Hanoi II | tower of Hanoi 4 columns
【Halcon视觉】形态学膨胀
我们的Web3创业项目,黄了
Vs Code configures go locale and successfully installs go related plug-ins in vscode problem: Tools failed to install
微信公众号发布提醒(微信公众号模板消息接口)
The practice of OpenCV -- bank card number recognition
【Halcon视觉】形态学腐蚀
The charm of SQL optimization! From 30248s to 0.001s
关于函数模板描述错误的是(链接格式错误怎么解决)
About automatic operation on Web pages
Comparison of packet capturing tools fiddler and Wireshark
How to write a million reading article
3.1 leetcode daily question 6


![[Halcon vision] programming logic](/img/1a/b6daac946fbefd8337355dc8b7873e.png)

![[Halcon vision] software programming ideas](/img/9b/a27338689ee4598dac88f6e5d92053.png)



