Python搞数据的三剑客
欢迎访问Python3分钟系列。花3分钟时间,学习或温习一个Python知识点。
在Python数据分析的世界里,有三个模块被誉为"数据分析三剑客",它们分别是 Numpy
、Pandas
和 Matplotlib
。
这三个模块组合在一起,可以帮助我们轻松地完成数据处理、分析和可视化。
如果你学Python的方向是数据分析、机器学习或深度学习,学习这三个模块是绝对的必修课。
今天带大家简单的介绍下这三剑客的强项,及简单的使用。
强大的科学计算库 -- Numpy
Numpy
是Python
语言的一个扩展库,提供了大量的数学函数和数组运算功能,是科学计算和数据分析的基础库。
Numpy的核心数据结构
Numpy
的核心数据结构是n维数组,可以用来表示向量、矩阵等多维数据。
Numpy
提供了丰富的数组操作函数,如数组创建、切片、变形、拼接等。
示例代码
import numpy as np
# 创建一个一维数组
a = np.array([1, 2, 3, 4, 5])
print(a)
# 输出 [1 2 3 4 5]
# 创建一个二维数组
b = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(b)
# 输出 [[1 2 3]
# [4 5 6]
# [7 8 9]]
# 数组的基本操作
c = a + 1 # 数组加法
print(c)
# 输出 [2 3 4 5 6]
d = a * 2 # 数组乘法
print(d)
# 输出 [ 2 4 6 8 10]
e = np.dot(a, a) # 数组点积
print(e)
# 输出 55
数据处理利器 -- Pandas
Pandas
是基于Python
的一个开源数据分析库,它提供了大量的数据处理和分析函数,可以帮助我们轻松地完成数据清洗、转换、统计等任务。
Pandas 的核心数据结构
Pandas主要有两种数据结构:Series(一维数组) 和 DataFrame(二维表格)。
Series:一维数组,可以存储整数、浮点数、字符串等数据类型。
DataFrame:二维表格,类似Excel
表格,可以存储不同数据类型的列。
此外,用Pandas模块读写Excel文件或csv文件也是非常便利的。
示例代码
import pandas as pd
# 创建一个 Series
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
# 输出
# 0 1
# 1 2
# 2 3
# 3 4
# 4 5
# dtype: int64
# 创建一个 DataFrame
data = {'Name': ['Tom', 'Jerry', 'Mike'],
'Age': [18, 20, 22]} df = pd.DataFrame(data)
print(df)
# 输出
# dtype: int64
# Name Age
# 0 Tom 18
# 1 Jerry 20
# 2 Mike 22
# 读取 CSV 文件
csv_file = 'example.csv'
df = pd.read_csv(csv_file)
print(df.head())
# 输出前 5 行数据
数据可视化神器 -- Matplotlib
Matplotlib
是一个基于Python
的数据可视化库,它提供了丰富的绘图函数,可以帮助我们将数据以直观的图形形式展示出来。
使用Matplotlib
,可以轻松地创建各种图表,如折线图、柱状图、散点图等。
Matplotlib的优势
- 灵活性:
Matplotlib
提供了丰富的绘图函数,可以实现各种自定义图表。 - 丰富的文档和资源:
Matplotlib
拥有详细的文档和丰富的社区资源,方便学习和使用。 - 良好的兼容性:
Matplotlib
可以与Pandas
、NumPy
等库无缝集成,方便数据处理和分析。
示例代码
import matplotlib.pyplot as plt
# 创建一个简单的折线图
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')
plt.show()
# 创建一个简单的柱状图
x = ['A', 'B', 'C', 'D', 'E']
y = [3, 7, 2, 5, 8]
plt.bar(x, y)
plt.xlabel('Category')
plt.ylabel('Value')
plt.title('Simple Bar Chart')
plt.show()
# 创建一个简单的散点图
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Scatter Plot')
plt.show()
执行代码后: