数据分析--数据载入及观察

本文以泰坦尼克数据为例,介绍如何使用Python的Pandas库进行数据加载与观察。首先,通过`pd.read_csv`导入数据并查看前几行,接着演示了如何处理大文件,利用`chunksize`分块读取数据。在数据观察部分,展示了如何获取数据基本信息、检查缺失值以及保存文件。最后,简要介绍了Pandas的基础操作,如数据类型、筛选以及探索性数据分析,包括排序和统计计算。
摘要由CSDN通过智能技术生成

数据载入及观察



前言

以kaggle中泰坦尼克数据为例,进行分析

一、载入数据

1.1导包

import numpy as np
import pandas as pd

1.2导数据

dt = pd.read_csv('train.csv')
dt.head(5)

在这里插入图片描述

1.3逐块导数据

当导入的数据量很大时,pd.read_csv会报错(memory error),这时就需要将数据分为多块导入。例如,每1000行为一块,然后逐块读取。

chunker = pd.read_csv('train.csv', chunksize = 1000)
for chunk in chunker:
    print(chunk)

在这里插入图片描述

pandas中read_csv里参数chunksize的解释如下:
在这里插入图片描述
可以看出这样读取后会返回一个textfilereader对象,类似于迭代器,并不能直接使用。
因此,配合get_chunk函数使用,这时将返回dataframe对象。

print(chunker.get_chunk(5))

在这里插入图片描述

1.4代码总结

import numpy as np
import pandas as pd
dt = pd.read_csv('train.csv')
dt.head(5)
chunker = pd.read_csv('train.csv', chunksize = 1000)
for chunk in chunker:
    print(chunk)
print(chunker.get_chunk(5))
dt = pd.read_csv('train.csv', names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名',
									'性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息',
									'票价','客舱','登船港口'])
dt.head()

二、观察数据

2.1 查看数据的基本信息

大致了解数据集的情况

dt.info()

在这里插入图片描述

可以进行这种操作的函数较多,包括但不仅限于以下几种:

dt.info():          # 打印摘要
dt.describe():      # 描述性统计信息
dt.values:          # 数据 <ndarray>
dt.to_numpy()       # 数据 <ndarray> (推荐)
dt.shape:           # 形状 (行数, 列数)
dt.columns:         # 列标签 <Index>
dt.columns.values:  # 列标签 <ndarray>
dt.index:           # 行标签 <Index>
dt.index.values:    # 行标签 <ndarray>
dt.head(n):         # 前n行
dt.tail(n):         # 尾n行
pd.options.display.max_columns=n: # 最多显示n列
pd.options.display.max_rows=n:    # 最多显示n行
df.memory_usage():                # 占用内存(字节B)

2.2读入数据

读前五行数据

dt.head(5)

在这里插入图片描述

2.3判断数据是否为空

dt.isnull().head()

在这里插入图片描述

2.4保存文件

dt.to_csv('train_c.csv'

2.5代码总结

dt.head(5)
dt.isnull().head()
dt.to_csv('train_c.csv'

三、Pandas基础

3.1pandas数据类型

pandas主要有dataframe与series两种基本类型,查看dataframe中每列数据的名称

dt = pd.read_csv('train.csv')
test_1 = pd.rea_csv('test_1.csv')
dt.columns.head(3)


在这里插入图片描述
查看target_1的age列中的数据

test_1['Age']

在这里插入图片描述
将test_1中的age列删除

test_1.drop(['a'], axis = 1)

在这里插入图片描述

3.2pandas筛选

将年龄在10岁以下的乘客信息筛选出来。

dt[dt['Age']<10]

在这里插入图片描述

四、探索性数据分析

利用pandas进行排序

text = pd.read_csv('train_chinese.csv')
text.head()
text.sort_values(by=['票价', '年龄'], ascending=False).head(3)

对泰坦尼克数据按票价和年龄进行综合排序,可以发现购买高票价船舱的乘客相对来说年龄在35岁左右,正值壮年。各个年龄段乘客对应的经济条件,也大致符合认知。
计算泰坦尼克号遇难时,最多的家庭成员数量

max(text['兄弟姐妹个数'] + text['父母子女个数'])

在这里插入图片描述


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值