Numpy 如何在Pandas和Matplotlib中使用ax

Numpy 如何在Pandas和Matplotlib中使用ax

在数据科学领域中,经常需要将数据可视化,使用Pandas和Matplotlib可以很方便地完成这个任务。而在数据处理过程中,经常需要使用Numpy来进行数组运算和处理。那么在使用Pandas和Matplotlib进行可视化时,如何使用Numpy的优秀功能呢?

阅读更多:Numpy 教程

如何使用Ax

在Matplotlib中,Figure下可以包含多个Axes对象,而Axes则是主要的子图,其上绘制的图形可以进行自由变换和设置。所以我们需要使用ax来指定子图进行绘制。

import matplotlib.pyplot as plt
fig, ax = plt.subplots() #创建Figure和Axes对象

Numpy数组准备

在使用Ax进行可视化时,需要将数据转化为Numpy数组的形式,Numpy中提供了多种途径来生成数组对象。

生成全0或全1数组

import numpy as np
zeros = np.zeros((3,3)) #生成3行3列的全0数组
ones = np.ones((2,2)) #生成2行2列的全1数组

数组形状调整

如果我们有一个数据集,需要调整它的形状以适应可视化需求,可以使用reshape()函数进行操作。

data = np.array([1,2,3,4,5,6])
data_reshape = np.reshape(data, [2,3]) #将数组形状转化为2行3列

数组元素排序

在排序数组时,可以使用Numpy提供的sort()函数进行操作。

data = np.array([8,4,2,6])
data_sort = np.sort(data) #对数据进行排序

如何使用Ax绘制柱状图

柱状图是用于比较不同元素值的一种图形表示方式,适合描述数据的分布和数量。使用Ax对象可以很容易地绘制柱状图,以下是一个简单的示例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#生成数据
raw_data = {'first_name': ['Keanu', 'Jiaqi', 'Mikhail', 'Ariel', 'Yiwei'],
            'pre_score': [4, 24, np.nan, 2, 32],
            'mid_score': [25, 94, 57, 62, 70],
            'post_score': [np.nan, 35, 68, 80, 96]}
df = pd.DataFrame(raw_data, columns=['first_name', 'pre_score', 'mid_score', 'post_score'])
df

#处理数据
df.dropna(inplace=True) #删除缺失值
df['total_score'] = df['pre_score'] + df['mid_score'] + df['post_score'] #计算总分

#使用`Ax`绘制柱状图
fig, ax = plt.subplots()
ax.bar(df['first_name'], df['total_score']) #使用bar函数绘制柱状图

#添加标签、标题和设定y轴的范围
ax.set_xticklabels(df['first_name']) #设置x轴标签
ax.set_ylabel('Total Score') #设置y轴标签
ax.set_ylim([0, 150]) #设置y轴范围
ax.set_title('Student Total Scores') #设置图表标题

plt.show()

如何使用Ax绘制饼图

饼图是常用的可视化数据分布的一种图形,适用于展示不同元素占比例的情况。使用Ax对象可以很容易地绘制饼图,以下是一个简单的示例:

#生成数据
categories = ['A']

如何使用Ax绘制饼图

饼图是常用的可视化数据分布的一种图形,适用于展示不同元素占比例的情况。使用Ax对象可以很容易地绘制饼图,以下是一个简单的示例:

# 生成数据
categories = ['Apple', 'Banana', 'Grape', 'Orange']
amount = [25, 30, 20, 15]

# 使用`Ax`绘制饼图
fig, ax = plt.subplots()
ax.pie(amount, labels=categories, autopct='%1.1f%%') #使用pie函数绘制饼图

# 添加标题
ax.set_title("Fruit Distribution") #设置图表标题

plt.show()

如何使用Ax绘制散点图

散点图通常用于展示不同变量之间的关系,如何使用Ax对象绘制散点图呢?以下是一个简单的示例:

# 生成数据
x = np.random.rand(50) #生成50个随机的x值
y = np.random.rand(50) #生成50个随机的y值

# 使用`Ax`绘制散点图
fig, ax = plt.subplots()
ax.scatter(x, y, s=np.random.rand(50)*1000, c=np.random.rand(50)) #使用scatter函数绘制散点图

# 添加标签和标题
ax.set_xlabel('X') #设置x轴标签
ax.set_ylabel('Y') #设置y轴标签
ax.set_title('Scatter Plot') #设置图表标题

plt.show()

总结

在本文中,我们介绍了如何使用Ax对象在Pandas和Matplotlib中进行可视化。通过以上三个示例,你了解了如何使用Ax对象绘制柱状图、饼图和散点图,并了解了使用Numpy进行数据处理的一些技巧。希望这篇文章对你掌握数据可视化和Numpy的使用有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程