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

简介: Python 教程之数据分析(4)—— 使用 Python 进行数据分析和可视化

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 和 s2
s1 = 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

输出:

image.png

使用 Pandas 导入数据

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

例子:

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

输出:

image.png

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"]

image.png

使用 Pandas 进行 DataFrame 数学运算

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

例子:

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

image.png

熊猫绘图

这些示例中的绘图是使用引用 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()

image.png

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


目录
相关文章
|
17天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
18天前
|
数据可视化 数据挖掘
R中单细胞RNA-seq数据分析教程 (3)
R中单细胞RNA-seq数据分析教程 (3)
27 3
R中单细胞RNA-seq数据分析教程 (3)
|
20天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
60 4
数据分析的 10 个最佳 Python 库
|
4天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
30 8
|
4天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
22 7
|
4天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
22 4
|
4天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
20 5
|
10天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
65 7
|
21天前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
4月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
89 2