写点什么

Python 教程之数据分析(4)—— 使用 Python 进行数据分析和可视化 | 第 1 套

  • 2022 年 9 月 01 日
    安徽
  • 本文字数:1656 字

    阅读完需:约 5 分钟

Python 是一种用于进行数据分析的出色语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。Pandas 就是其中之一,它使导入和分析数据变得更加容易。在本文中,我使用 Pandas 分析了来自流行的“statweb.stanford.edu”网站的联合国公共数据集的 Country Data.csv 文件中的数据。在分析印度国家数据时,我介绍了 Pandas 的关键概念如下。在阅读本文之前,请大致了解 matplotlib 和 csv 的基础知识。

安装 pandas 最简单的方法是使用 pip:

pip install pandas
复制代码

或者,从这里下载

在 Pandas 中创建数据框

数据框的创建是通过使用 pd.Series 方法将多个系列传递给 DataFrame 类来完成的。在这里,它传入两个 Series 对象,s1 作为第一行,s2 作为第二行。例子:

# 将两个系列分配给 s1 和 s2s1 = pd.Series([1,2])s2 = pd.Series(["Ashish", "Sid"])# 将系列对象构建为数据df = pd.DataFrame([s1,s2])# 显示数据框df
# 以另一种方式获取索引和列值的数据框架dframe = pd.DataFrame([[1,2],["Ashish", "Sid"]], index=["r1", "r2"], columns=["c1", "c2"])dframe
# 以另一种方式构建类似字典的容器dframe = pd.DataFrame({ "c1": [1, "Ashish"], "c2": [2, "Sid"]})dframe
复制代码

输出:





使用 Pandas 导入数据

第一步是读取数据。数据存储为逗号分隔值或 csv 文件,其中每一行由新行分隔,每一列由逗号 (,) 分隔。为了能够在 Python 中处理数据,需要将 csv 文件读入 Pandas DataFrame。DataFrame 是一种表示和处理表格数据的方法。表格数据有行和列,就像这个csv 文件一样(点击下载)。例子:

# 导入pandas库,重命名为pdimport pandas as pd
# 将 IND_data.csv 读入 DataFrame,分配给 dfdf = pd.read_csv("IND_data.csv")
# 默认打印 DataFrame 的前 5 行df.head()
# 打印编号 DataFrame 的行数和列数df.shape
复制代码

输出:



29,10
复制代码

使用 Pandas 索引 DataFrame

可以使用 pandas.DataFrame.iloc 方法进行索引。iloc 方法允许按位置检索尽可能多的行和列。例子:

# 打印前 5 行和复制 df.head() 的每一列df.iloc[0:5,:]# 打印整行和整列df.iloc[:,:]# 从第 5 行和前 5 列打印df.iloc[5:,:5]
复制代码

在 Pandas 中使用标签进行索引

可以使用 pandas.DataFrame.loc 方法对标签进行索引,该方法允许使用标签而不是位置进行索引。例子:

# 打印前五行,包括第 5 个索引和 df 的每一列df.loc[0:5,:]# 从第 5 行开始打印整列df = df.loc[5:,:]
复制代码

上面的内容实际上看起来与 df.iloc[0:5,:] 没有太大区别。这是因为虽然行标签可以采用任何值,但我们的行标签与位置完全匹配。但是在处理数据时,列标签可以让事情变得更容易。例子:

# 打印前 5 行时间段值df.loc[:5,"Time period"]
复制代码



使用 Pandas 进行 DataFrame 数学运算

数据帧的计算可以使用 pandas 工具的统计函数来完成。例子:

# 计算各种汇总统计信息,不包括 NaN 值df.describe()# 用于计算相关性df.corr()# 计算数值数据等级df.rank()
复制代码





熊猫绘图

这些示例中的绘图是使用引用 matplotlib API 的标准约定制作的,该 API 提供了 pandas 的基础知识,可以轻松创建美观的绘图。例子:

# 导入需要的模块import matplotlib.pyplot as plt# 绘制直方图df['Observation Value'].hist(bins=10)
# 显示存在大量异常值/极值df.boxplot(column='Observation Value', by = 'Time period')
# 将点绘制为散点图x = df["Observation Value"]y = df["Time period"]plt.scatter(x, y, label= "stars", color= "m", marker= "*", s=30)# x 轴标签plt.xlabel('Observation Value')# 频率标签plt.ylabel('Time period')# 显示绘图的功能plt.show()
复制代码





本篇文章到此就结束了,相关文章:

感谢大家的阅读,有什么问题的话可以在评论中告诉我。希望大家能够给我来个点赞+收藏+评论 ,你的支持是海海更新的动力!后面我会持续分享前端 & 后端相关的专业知识。

发布于: 2022 年 09 月 01 日阅读数: 42
用户头像

公众号:海拥 2021.11.29 加入

【个人网站】haiyong.site 【联系方式】微信:wh18363 【软件技能】前端,Java,Python 【个人称号】InfoQ 写作社区签约作者,华为云享专家,CSDN原力作者,全栈领域优质创作者,掘金2021年度人气作者No.21

评论 (1 条评论)

发布
用户头像
支持大佬 优质文章
2022 年 09 月 02 日 08:39 · 湖北
回复
没有更多了
Python 教程之数据分析(4)—— 使用 Python 进行数据分析和可视化 |  第 1 套_Python_海拥(haiyong.site)_InfoQ写作社区