Python数据分析绘制折线图(relplot()函数)及可视化

文章目录


前言

以下是一个简单的数据分析预处理程序示例,包括数据读取、数据清洗、数据转换等操作:

import pandas as pd

# 读取数据
data = pd.read_csv("data.csv")

# 数据清洗
data.dropna(inplace=True)  # 删除缺失值
data.drop_duplicates(inplace=True)  # 删除重复值

# 数据转换
data["date"] = pd.to_datetime(data["date"])  # 将日期列转换为datetime类型
data["year"] = data["date"].dt.year  # 提取年份
data["month"] = data["date"].dt.month  # 提取月份
data["day"] = data["date"].dt.day  # 提取日期

# 数据分析
grouped_data = data.groupby(["year", "month"]).agg({"sales": "sum", "profit": "mean"})  # 按年月分组,计算销售总额和平均利润
grouped_data.to_csv("result.csv")  # 保存结果到文件

该程序使用pandas库读取csv文件,并进行数据清洗和数据转换操作。最后,使用groupby函数对数据进行分组并计算销售总额和平均利润,结果保存到csv文件中。

以下是一个简单的数据分析预处理程序示例,包括数据读取、数据清洗、数据转换等操作:

import pandas as pd

# 读取数据
data = pd.read_csv("data.csv")

# 数据清洗
data.dropna(inplace=True)  # 删除缺失值
data.drop_duplicates(inplace=True)  # 删除重复值

# 数据转换
data["date"] = pd.to_datetime(data["date"])  # 将日期列转换为datetime类型
data["year"] = data["date"].dt.year  # 提取年份
data["month"] = data["date"].dt.month  # 提取月份
data["day"] = data["date"].dt.day  # 提取日期

# 数据分析
grouped_data = data.groupby(["year", "month"]).agg({"sales": "sum", "profit": "mean"})  # 按年月分组,计算销售总额和平均利润
grouped_data.to_csv("result.csv")  # 保存结果到文件

该程序使用pandas库读取csv文件,并进行数据清洗和数据转换操作。最后,使用groupby函数对数据进行分组并计算销售总额和平均利润,结果保存到csv文件中。

一、relplot()函数及可视化

Python中有很多库可以用来进行数据分析和绘制图表,其中比较常用的包括:matplotlib、seaborn、plotly等。下面介绍一种使用seaborn库中的relplot()函数来绘制折线图的方法。

首先,我们需要安装seaborn库,可以使用如下命令:

pip install seaborn

然后,导入seaborn库和需要用到的数据集。这里我们使用seaborn自带的数据集"flights",该数据集包含了1949年到1960年期间每个月的航班乘客数量。

import seaborn as sns
import pandas as pd

df = sns.load_dataset('flights')

接下来,我们使用relplot()函数来绘制折线图。该函数需要传入三个参数:x、y、data。其中x和y表示x轴和y轴的数据,data表示传入的数据集。

在这里我们将"year"和"passengers"作为x轴和y轴的数据,并按照"month"进行分组。

sns.relplot(x='year', y='passengers', kind='line', hue='month', data=df)

运行以上代码,就可以绘制出一张折线图。其中,kind='line'表示绘制折线图,hue='month'表示按照"month"进行分组,使得不同月份的折线呈现不同的颜色。

除此之外,我们还可以使用其他参数来调整图表的样式,例如设置x轴和y轴标签、图表标题等。

sns.relplot(x='year', y='passengers', kind='line', hue='month', data=df)
plt.xlabel('Year')
plt.ylabel('Passengers')
plt.title('Number of Passengers Per Year')

最终,我们得到了一张以年份为x轴、乘客数量为y轴,每个月份为一条折线的折线图。通过对图表进行调整和分析,我们可以更好地理解数据集中航班乘客数量的变化趋势。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。

3.数据分析折线图分析

折线图是一种用于可视化数据的图表类型,它将数据点按照顺序连接成线段,以显示趋势、变化等特征。在 Python 的数据分析中,最常用的工具包是 Matplotlib。

下面是通过 Matplotlib 绘制折线图的简单步骤:

  1. 导入 Matplotlib 和数据集:
import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4])
y = np.array([3, 5, 2, 8])

  1. 通过 plt.plot() 函数绘制折线图:
plt.plot(x, y)
plt.show()

  1. 添加图表标题和轴标签:
plt.plot(x, y)
plt.title("Line Chart")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.show()

  1. 自定义折线的样式和颜色:
plt.plot(x, y, linestyle='--', linewidth=2, color='red')
plt.show()

除此之外,Matplotlib 还提供了许多其他的折线图定制选项,包括添加图例、修改坐标轴范围、设置字体大小等。可以通过查看 Matplotlib 官方文档来深入了解如何使用这些选项来绘制出令人满意的折线图。

4.数据分析用于填空

这里提供一些常见的 Python 数据分析代码填空题目,供大家练习。

  1. 筛选出 DataFrame 中某一列中值大于 10 的行:
df[df['column_name'] > 10]

  1. 统计 DataFrame 中每列的缺失值数量:
df.isnull().sum()

  1. 对 DataFrame 按某列排序:
df.sort_values('column_name')

  1. 使用 Pandas 读取 CSV 文件:
import pandas as pd

df = pd.read_csv('file_name.csv')

  1. 使用 Matplotlib 绘制条形图:
import matplotlib.pyplot as plt

plt.bar(x_values, y_values)
plt.show()

  1. 使用 NumPy 计算数组元素的平均值:
import numpy as np

np.mean(array)

  1. 使用 Pandas 计算 DataFrame 中某列的平均值:
df['column_name'].mean()

  1. 使用 Seaborn 绘制热力图:
import seaborn as sns

sns.heatmap(data)

  1. 使用 Pandas 将 DataFrame 转换为 Excel 文件:
df.to_excel('file_name.xlsx', index=False)

  1. 使用 Pandas 将多个 Excel 文件合并为一个 DataFrame:
import pandas as pd

df_list = []

for file_name in file_names:
    df = pd.read_excel(file_name)
    df_list.append(df)

merged_df = pd.concat(df_list)


总结

在Python中,数据可视化是非常重要的一部分,因为它可以帮助人们更好地理解数据集并呈现数据的趋势和模式。在Python中,有很多数据可视化工具可供选择,如Matplotlib、Seaborn、Plotly等等。

其中,Seaborn是一个基于Matplotlib的高级数据可视化工具,它可以使可视化工作变得更加简单、快速、美观。接下来,我们将介绍Seaborn中的relplot()函数和一些可视化总结。

1.relplot()函数

relplot()函数是Seaborn中用于绘制多个关系图的函数,它可以用于绘制散点图、折线图、柱状图等等。relplot()函数的语法如下:

seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=None, col=None, row=None, palette=None, kind='scatter', height=5, aspect=1, facet_kws=None)

其中,x和y参数表示x轴和y轴的变量名,hue参数表示根据颜色来区分不同的类别,size参数表示点的大小,style参数表示点的形状,data参数表示数据集,col和row参数表示按一个或多个变量分割图表,palette参数表示调色板,kind参数表示要绘制的图表类型(默认为'scatter'),height参数表示图表的高度,aspect参数表示图表的纵横比,facet_kws参数表示图表的其他配置参数。

下面我们将通过一个例子来演示如何使用relplot()函数绘制折线图。

首先,导入相关的库和数据集:

import seaborn as sns
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/percent_bachelors_degrees_women_usa.csv')

然后,使用relplot()函数绘制折线图:

sns.relplot(x='Year', y='Biology', kind='line', data=df)

最终,我们可以得到一个折线图,它展示了美国女性在生物学方面的学历比例随时间的变化趋势。

image-20211101145130959

2.可视化总结

除了relplot()函数外,Seaborn还提供了很多其他函数用于数据可视化。下面,我们将介绍一些常用的数据可视化技巧和总结:

(1)使用调色板

Seaborn中的调色板可以帮助我们为不同的数据类别分配不同的颜色。常用的调色板包括:

  • 'deep'
  • 'muted'
  • 'pastel'
  • 'bright'
  • 'dark'
  • 'colorblind'

我们可以使用set_palette()函数来设置调色板,例如:

sns.set_palette('pastel')

该函数可以将调色板设置为'pastel'。

(2)使用样式

Seaborn提供了多种样式可供选择,可以帮助我们快速创建美观的可视化图表。常用的样式包括:

  • 'whitegrid'
  • 'darkgrid'
  • 'ticks'
  • 'white'
  • 'dark'

我们可以使用set_style()函数来设置样式,例如:

sns.set_style('ticks')

该函数可以将样式设置为'ticks'。

(3)使用图表组合

有时候我们需要将多个图表组合在一起展示,可以使用FacetGrid()函数和map()函数来实现。FacetGrid()函数可以帮助我们创建一个图表网格,而map()函数可以在网格中绘制不同的图表。例如:

g = sns.FacetGrid(df, col='gender', hue='smoker')
g.map(sns.scatterplot, 'total_bill', 'tip')

该代码将创建一个图表网格,其中每个网格对应一个gender值。然后,map()函数将在每个网格中绘制一个散点图,x轴为'total_bill',y轴为'tip',并根据'smoker'字段的值来区分颜色。

(4)使用调整子图大小

我们可以使用subplots_adjust()函数来调整子图的大小和位置。该函数的参数包括left、right、bottom、top、wspace和hspace等。

例如:

plt.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9, wspace=0.4, hspace=0.4)

该代码将调整子图的左、右、底、顶、水平间距和垂直间距。

总之,Seaborn是一个非常强大的数据可视化库,它提供了许多有用的函数和工具,可以帮助我们快速创建美观、有用的可视化图表。在数据分析工作中,适当地使用Seaborn可以帮助我们更好地理解数据并做出更好的决策。

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值