数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—Pandas—pandas入门(一)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

二、Pandas

1.pandas入门

image.png

  • Python在数据处理和准备方面一直做得很好,但在数据分析和建模方面就差一些。pandas帮助填补了这一空白,使您能够在Python中执行整个数据分析工作流程,而不必切换到更特定于领域的语言,如R。
  • 与出色的 jupyter工具包和其他库相结合,Python中用于进行数据分析的环境在性能、生产率和协作能力方面都是卓越的。
  • pandas是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。pandas是Python进行数据分析的必备高级工具。
  • pandas的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数案例
  • 处理数据一般分为几个阶段:数据整理与清洗、数据分析与建模、数据可视化与制表,Pandas 是处理数据的理想工具。


1.1 数据结构

1.1.1 一维结构(Series)

import pandas as pd
s = pd.Series(data = [9, 8, 7, 6], index = ['a', 'b', 'c', 'd'])
display(s)

image.png

可以看到,我们创建了索引(index)为 'a' 'b' 'c' 'd',data 为9 8 7 6的一维结构,我们还可以不指定索引(index),那么就会默认为 0 1 2 ...

image.png

一维Series和之前NumPy有何不同呢?

区别在于索引,是一一对应的,即索引也可以拥有自己的“名字”,而NumPy则是:自然索引(0 ~ n)

1.1.2 二维结构(DataFrame)

import pandas as pd
import numpy as np
pd.DataFrame(data = np.random.randint(0, 150, size = (5, 3)))

image.png

默认的行索引和列索引也都是从0开始的,我们说过,pandas可以自己定义我们的索引:

import pandas as pd
import numpy as np
# columns 用来设置列索引,index 用来设置行索引
pd.DataFrame(data = np.random.randint(0, 150, size = (5, 3)),
            columns = ['Python', 'English', 'Math'], index = list('ABCDE'))

image.png

我们发现,表格中的数都是正数,我们可以用 dtype 属性设置为小数或者其他:

import pandas as pd
import numpy as np
# dtype 用来设置数的类型
pd.DataFrame(data = np.random.randint(0, 150, size = (5, 3)),
            columns = ['Python', 'English', 'Math'], index = list('ABCDE'),
            dtype = np.float32)

image.png

下面介绍另一种创建的方法:我们学过 Python 后,你可能会发现,在 Python 中的字典这种数据类型好像和这个特别像,故我们可以使用字典去进行创建:

import pandas as pd
import numpy as np
pd.DataFrame(data = {'Python':np.random.randint(100, 150, size = 5),
            'English':np.random.randint(90, 130, size = 5),
            'Math':np.random.randint(100, 150, size = 5)})

image.png

我们设置了列索引,接下来我们来设置行索引:

import pandas as pd
import numpy as np
pd.DataFrame(data = {'Python':np.random.randint(100, 150, size = 5),
            'English':np.random.randint(90, 130, size = 5),
            'Math':np.random.randint(100, 150, size = 5)},
            index = list('ABCDE'))

image.png

我们当然可以对其进行排序,比如我们按照行索引的大小进行降序:

import pandas as pd
import numpy as np
df = pd.DataFrame(data = {'Python':np.random.randint(100, 150, size = 5),
            'English':np.random.randint(90, 130, size = 5),
            'Math':np.random.randint(100, 150, size = 5)},
            index = list('ABCDE'))
df.sort_index(ascending = False)

image.png

1.2 数据查看

🚩接下来来介绍一些查看数据的方法:

import numpy as np
import pandas as pd
# 创建 shape(150, 3)的二维标签数组结构DataFrame
df = pd.DataFrame(data = np.random.randint(0, 151, size = (150, 3)),
                 columns = ['Python', 'English', 'Math'])
# 查看其属性、概览和统计信息
display(df.head(10))  # 显示头部10个,默认5个
display(df.tail(10))  # 查看末尾10个,默认5个
display(df.shape)     # 查看形状,行数和列数
display(df.dtypes)    # 查看数据类型
# 改变数据类型:
# 把 'Python' 一列的数据类型由 int32 改为 int64
df['Python'] = df['Python'].astype(np.int64)
display(df.dtypes)    # 查看数据类型
display(df.index)     # 查看行索引
display(df.columns)   # 查看列索引

71.png

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0, 151, size = (150, 3)),
                 columns = ['Python', 'English', 'Math'])
display(df.values)    # 查看对象值(即这个二维ndarray数组)

image.png

import numpy as np
import pandas as pd
df = pd.DataFrame(data = np.random.randint(0, 151, size = (150, 3)),
                 columns = ['Python', 'English', 'Math'])
# 查看数值类型列的汇总统计,计数、平均值、标准差、最小值、四分位数、最大值
display(df.describe()) 
# 查看列索引、数据类型、非空计数和内存信息
display(df.info())

72.png


目录
相关文章
|
11天前
|
数据采集 SQL 数据挖掘
Python数据分析中的Pandas库应用指南
在数据科学和分析领域,Python语言已经成为了一种非常流行的工具。本文将介绍Python中的Pandas库,该库提供了强大的数据结构和数据分析工具,使得数据处理变得更加简单高效。通过详细的示例和应用指南,读者将了解到如何使用Pandas库进行数据加载、清洗、转换和分析,从而提升数据处理的效率和准确性。
|
12天前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
|
12天前
|
算法 数据挖掘 数据处理
数据分析Pandas之Series,快速上手
数据分析Pandas之Series,快速上手
|
12天前
|
数据采集 机器学习/深度学习 数据可视化
Pandas在数据分析中有广泛的应用场景
Pandas是数据分析利器,适用于数据清洗(处理缺失值、重复项、异常值)、探索分析(统计量、图表)、预处理(特征提取、编码、选择)、建模(线性回归、聚类等)及可视化,与Matplotlib等库配合提升效率。
9 1
|
18天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
35 0
|
18天前
|
Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数变换数据。示例代码:导入pandas,定义一个包含'Name'和'Age'列的DataFrame,使用`melt()`转为长格式,再用`pivot()`恢复为宽格式。
26 1
|
19天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
24 2
|
20天前
|
索引 Python
如何使用Python的Pandas库进行数据合并和拼接?
Pandas的`merge()`函数用于数据合并,如示例所示,根据'key'列对两个DataFrame执行内连接。`concat()`函数用于数据拼接,沿轴0(行)拼接两个DataFrame,并忽略原索引。
35 2
|
20天前
|
数据挖掘 索引 Python
如何在Python中,Pandas库实现对数据的时间序列分析?
【4月更文挑战第21天】Pandas在Python中提供了丰富的时间序列分析功能,如创建时间序列`pd.date_range()`,转换为DataFrame,设置时间索引`set_index()`,重采样`resample()`(示例:按月`'M'`和季度`'Q'`),移动窗口计算`rolling()`(如3个月移动平均)以及季节性调整`seasonal_decompose()`。这些工具适用于各种时间序列数据分析任务。
20 2
|
20天前
|
索引 Python
如何在Python中使用Pandas库进行季节性调整?
在Python中使用Pandas和Statsmodels进行季节性调整的步骤包括:导入pandas和seasonal_decompose模块,准备时间序列DataFrame,调用`seasonal_decompose()`函数分解数据为趋势、季节性和残差,可选地绘制图表分析,以及根据需求去除季节性影响(如将原始数据减去季节性成分)。这是对时间序列数据进行季节性分析的基础流程。
29 2