python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas数据可视化

pandas探索你的数据实现可视化示例详解

作者:海狸大大

这篇文章主要为大家介绍了pandas探索你的数据实现可视化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

探索泰坦尼克灾难数据

在数据分析的旅程中,可视化数据是一个不可或缺的步骤,它可以帮助我们更好地理解数据、发现趋势和关联。在本篇博客中,我们将使用 Python 中的 pandas、matplotlib 和 seaborn 库,来探索泰坦尼克灾难的数据集,以图表形式呈现数据的各种方面。

步骤1 导入必要的库

首先,我们导入了一些必要的库,包括 pandas 用于数据操作,matplotlib 和 seaborn 用于数据可视化,以及 numpy 用于数值计算。这些库将在整个分析过程中发挥关键作用。

# 运行以下代码
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
%matplotlib inline

步骤2 从以下地址导入数据

在这一步,我们准备导入泰坦尼克灾难的数据,这些数据存储在名为 "train.csv" 的文件中。数据导入是数据分析的第一步,让我们能够开始探索和分析数据。

# 运行以下代码
path7 = 'exercise_data/train.csv'  # train.csv

步骤3 将数据框命名为titanic

我们成功导入数据后,将数据框命名为 "titanic" 并显示前几行数据,以便查看数据的结构和内容。

# 运行以下代码
titanic = pd.read_csv(path7)
titanic.head()

步骤4 将PassengerId设置为索引

在这一步,我们将 "PassengerId" 列设置为数据的索引。这可以帮助我们更容易地访问和操作数据。

# 运行以下代码
titanic.set_index('PassengerId').head()

步骤5 绘制一个展示男女乘客比例的扇形图

通过创建扇形图,我们展示了乘客中男性和女性的比例。这是一个简单而有效的方式来可视化性别分布,并了解男女乘客的比例。

# 运行以下代码
# sum the instances of males and females
males = (titanic['Sex'] == 'male').sum()
females = (titanic['Sex'] == 'female').sum()
# put them into a list called proportions
proportions = [males, females]
# Create a pie chart
plt.pie(
    # using proportions
    proportions,
    # with the labels being officer names
    labels = ['Males', 'Females'],
    # with no shadows
    shadow = False,
    # with colors
    colors = ['blue','red'],
    # with one slide exploded out
    explode = (0.15 , 0),
    # with the start angle at 90%
    startangle = 90,
    # with the percent listed as a fraction
    autopct = '%1.1f%%'
    )
# View the plot drop above
plt.axis('equal')
# Set labels
plt.title("Sex Proportion")
# View the plot
plt.tight_layout()
plt.show()

步骤6 绘制一个展示船票Fare, 与乘客年龄和性别的散点图

在这一步,我们创建了一个散点图,将船票价格 (Fare) 与乘客的年龄和性别进行了比较。这种图表可以帮助我们观察票价与年龄和性别之间的关系。

# 运行以下代码
# creates the plot using
lm = sns.lmplot(x = 'Age', y = 'Fare', data = titanic, hue = 'Sex', fit_reg=False)
# set title
lm.set(title = 'Fare x Age')
# get the axes object and tweak it
axes = lm.axes
axes[0,0].set_ylim(-5,)
axes[0,0].set_xlim(-5,85)

 (-5.0, 85.0)

步骤7 有多少人生还?

我们统计了生还乘客的数量,这是泰坦尼克灾难中一个重要的统计指标。在这个数据集中,有342人幸存下来。

# 运行以下代码
titanic.Survived.sum()

342

步骤8 绘制一个展示船票价格的直方图

最后,我们创建了一个直方图,显示了不同船票价格的频率分布。这种图表可以帮助我们了解船票价格的分布情况。

# 运行以下代码
# sort the values from the top to the least value and slice the first 5 items
df = titanic.Fare.sort_values(ascending = False)
df
# create bins interval using numpy
binsVal = np.arange(0,600,10)
binsVal
# create the plot
plt.hist(df, bins = binsVal)
# Set the title and labels
plt.xlabel('Fare')
plt.ylabel('Frequency')
plt.title('Fare Payed Histrogram')
# show the plot
plt.show()

总结

我们介绍了数据可视化的基本步骤,并使用了 matplotlib 和 seaborn 库来创建不同类型的图表。具体来说,我们使用了扇形图展示比例、散点图展示关系、直方图展示分布情况等。这些图表有助于我们更好地理解泰坦尼克灾难数据,探索性别比例、票价分布以及生还人数等方面的信息。

1、Seaborn简介和基本绘图函数

Seaborn 是一个用于数据可视化的 Python 库,它建立在 Matplotlib 的基础之上,提供了更高级、更美观和更方便的绘图功能。以下是 Seaborn 中常用的一些创建图表的函数:

2、前文中所用的Seaborn

以前文所使用的lmplot为例:sns.lmplot() 是 Seaborn 库中用于创建线性回归模型图的函数。它通常用于可视化两个变量之间的线性关系,同时可以添加回归线和置信区间。

sns.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, height=5, aspect=1, markers='o', scatter_kws=None, line_kws=None)

参数说明:

sns.lmplot() 函数的作用是绘制散点图,并根据数据拟合一个线性回归模型。它通常用于研究两个连续变量之间的关系,以及回归模型的拟合情况。

import seaborn as sns
import matplotlib.pyplot as plt
# 创建一个示例数据框
data = sns.load_dataset("tips")
# 使用lmplot绘制散点图和回归线
sns.lmplot(x="total_bill", y="tip", data=data)
# 添加回归线的置信区间
sns.lmplot(x="total_bill", y="tip", data=data, ci=None)
# 使用hue参数根据分类变量着色
sns.lmplot(x="total_bill", y="tip", data=data, hue="sex")
# 使用col和row参数创建多个子图
sns.lmplot(x="total_bill", y="tip", data=data, col="time", row="sex")
# 自定义标记样式和颜色
sns.lmplot(x="total_bill", y="tip", data=data, markers=["o", "x"], palette="Set1")
plt.show()

3、Seaborn的样式控制

Seaborn 允许你控制图形的样式和外观,以使你的数据可视化更加美观和易于理解。你可以使用 Seaborn 提供的各种样式设置和主题来自定义图形的外观。

样式设置(Style Set): Seaborn 提供了不同的样式设置,通过 sns.set_style() 函数可以进行切换。常用的样式设置包括 "whitegrid""darkgrid""white""dark" 和 "ticks"。每种样式设置具有不同的背景和网格线样式,你可以根据需要选择合适的样式。

import seaborn as sns
# 使用不同的样式设置
sns.set_style("whitegrid")
sns.set_style("darkgrid")
sns.set_style("white")
sns.set_style("dark")
sns.set_style("ticks")

图形主题(Themes): 通过 sns.set_theme() 函数,你可以选择不同的图形主题,包括 "darkgrid""whitegrid""dark""white" 和 "ticks",这与样式设置类似。不同的主题将影响整个图形的外观。

import seaborn as sns
# 使用不同的图形主题
sns.set_theme(style="darkgrid")
sns.set_theme(style="whitegrid")
sns.set_theme(style="dark")
sns.set_theme(style="white")
sns.set_theme(style="ticks")

颜色调色板(Color Palettes): Seaborn 提供了各种颜色调色板,用于指定图形中的颜色。你可以使用 sns.color_palette() 函数来自定义颜色调色板,也可以使用已经定义好的颜色调色板,如 "deep""pastel""dark" 等。

import seaborn as sns
# 使用不同的颜色调色板
sns.color_palette("deep")
sns.color_palette("pastel")
sns.color_palette("dark")

坐标轴刻度(Axis Ticks): 你可以通过 sns.set_context() 函数来控制坐标轴刻度的大小和字体。可选的上下文包括 "paper""notebook""talk" 和 "poster"

import seaborn as sns
# 设置坐标轴刻度的上下文
sns.set_context("paper")
sns.set_context("notebook")
sns.set_context("talk")
sns.set_context("poster")

这些控制样式的方法可以根据你的需求来自定义 Seaborn 图形的外观,使其更符合你的数据可视化目标和审美标准。你可以根据具体情况组合使用这些设置来创建最适合你的图形样式。

以上就是pandas探索你的数据实现可视化示例详解的详细内容,更多关于pandas数据可视化的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文