动手学数据分析

本文介绍了Python库numpy和pandas在数据处理中的关键特性,如numpy的ndarray多维数组、广播和数学运算,以及pandas的DataFrame和Series结构、数据读取、清洗、分析和可视化。同时强调了在处理大型文件时的逐块读取策略。
摘要由CSDN通过智能技术生成

第一章

第一节、数据载入及初步观察

基于python语言,我们在进行数据分析时需导入pandas和numpy库numpy。

numpy库介绍:

ndarray 是NumPy库中的主要数据结构,它是一个多。它的核心数据类型,提供了高效的数值运算和广泛的数学函数。

以下是 numpy.ndarray 的一些重要特点和功能:

1、多维数组:numpy.ndarray 可以是一维、二维或多维的数组,这使得它非常适合处理各种复杂的数据。

2、数据类型:numpy.ndarray 可以包含不同数据类型的元素,如整数、浮点数、布尔值等。每个数组都有一个固定的数据类型,可通过 dtype 属性获得。

3、广播:NumPy支持广播,这意味着可以对不同形状的数组执行元素级操作,而不需要显式循环。

4、矢量化操作:NumPy提供了各种数学、逻辑和统计函数,这些函数能够高效地应用于 numpy.ndarray 中的元素,而无需编写循环。

5、切片和索引:可以使用切片和索引操作从 numpy.ndarray 中选择和操作数据的子集。

6、数学运算:NumPy支持各种数学运算,包括加法、减法、乘法、除法、矩阵运算等。

7、随机数生成:NumPy包括随机数生成函数,用于生成随机数或随机数组。

8、数据统计:NumPy提供了各种统计函数,用于计算平均值、方差、标准差、最大值、最小值等。

9、线性代数:NumPy包括线性代数函数,用于矩阵操作、求解线性方程组等。

10、文件IO:可以使用NumPy读取和写入数据到磁盘,支持多种文件格式。

pandas库介绍:

Pandas(Python Data Analysis Library)是一个流行的Python库,用于数据处理和分析。它提供了高性能、易用的数据结构和数据分析工具,使得在Python中进行数据清洗、转换、分析和可视化变得更加容易。以下是Pandas的一些主要特点和功能:

1、数据结构:Pandas引入了两种主要的数据结构,DataFrame 和 Series。

DataFrame 是一个二维表格数据结构,类似于电子表格或SQL表,可以容纳多种数据类型的列。每列可以有不同的数据类型。
2、Series 是一个一维标记数组,类似于带有标签的NumPy数组。
3、数据读取:Pandas可以轻松读取各种数据源,包括CSV、Excel、SQL数据库、JSON、HTML、以及Web API等。

4、数据清洗和处理:Pandas提供了丰富的数据操作功能,包括缺失值处理、数据合并、重塑、过滤、排序、分组和聚合等。

5、数据分析:Pandas支持各种数据分析任务,包括统计描述、数据可视化、时间序列分析、数据透视表等。

6、快速索引:Pandas的 DataFrame 和 Series 可以通过标签或位置进行快速的数据检索和索引。

7、灵活的数据可视化:Pandas结合了Matplotlib和Seaborn等可视化库,使得数据可视化变得容易。

8、数据导出:可以将清洗和分析后的数据导出到各种文件格式,包括CSV、Excel、SQL数据库等。

9、时间序列数据:Pandas对于处理时间序列数据非常强大,可以进行日期和时间的解析、滚动窗口计算等。

10、高性能:Pandas被设计为高性能数据处理工具,可以处理大型数据集。

读取文件:

1、使用read_table来读取txt文本文件

pandas.read_table(数据文件名, sep=’\t’, header=’infer’, names=None,index_col=None, dtype=None, engine=None, nrows=None)

2、使用read_csv函数来读取csv、tsv、txt文件

pandas.read_csv(数据文件名, sep=’,’, header=’infer’, names=None, index_col=None,dtype=None, engine=None, nrows=None)

为什么要进行逐块读取?

在利用pyhon编写数据处理脚本时,经常要从外界读取csv、txt等格式的文件。当读取的文件较大时,这时若直接利用pandas读取,会给电脑造成太大的压力,逐块读取的作用就在于此。

第二节、pandas基础

pandas中有两个数据类型DateFrame和Series,首先介绍series:

Series 是一个一维的有标记的 array,它可以存储任何 Python 的基本数据类型。Series 的标记数据我们通常称之为 index

创建 Series:

创建 Series 最基本的方式是调用 pandas 库中的 Series 对象:

s = pd.Series(data, index=index)

通常,我们的 data 有可能为 array,字典或者标量值。

第三节、探索性数据分析

载入之前保存的train_chinese.csv数据,关于泰坦尼克号的任务,我们就使用这个数据

对泰坦尼克号数据(trian.csv)按票价和年龄两列进行综合排序(降序排列),从数据中你能发现什么:

调用 describe 函数,观察frame2的数据基本信息:

简要总结:  

1、os.getcwd() 查看当前工作目录。

2、read_csv 从文件、URL、文件型对象中加载带分隔符的数据,默认分隔符为逗号,read_csv中每一个字符串作为一列,所以输出格式为   [891 rows x 12 columns]。

3、当数据量特别大,我们需要只想读取其中一部分或对数据进行逐块处理时,需要进行逐块读取 。

4、用pandas的.head()等方法,查看数据的具体形式;用.info()查看数据的类型和数据量;用.describe查看数据极值、均值、方差等统计指标以及在回归等问题中。

5、分析数据,实际上就是对海量数据进行清洗,将“脏数据”清洗掉,对一些冗余数据进行删除,最终经过分析得到对自身或者对企业有用的数据,然后对反映出的问题进行思考和解决等等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值