首页 > Python资料 博客日记
【一万字分析建议收藏】关于Python的NumPy和Pandas的详解
2024-05-24 11:00:04Python资料围观102次
关于Python的NumPy和Pandas
Python是一种高级编程语言,它的优点在于易于学习、易于阅读和易于维护。Python的NumPy和Pandas是两个非常流行的库,它们可以帮助我们更好地处理数据。在本文中,我们将详细介绍NumPy和Pandas的使用方法。
一丶NumPy
NumPy是Python中的一个科学计算库,它提供了一个多维数组对象和一些用于处理数组的函数。NumPy的主要优点在于它可以处理大量的数据,而且速度非常快。NumPy的核心是ndarray对象,它是一个n维数组对象,可以存储相同类型的元素。
1.创建ndarray对象
我们可以使用NumPy中的array()
函数来创建ndarray
对象。下面是一个简单的例子:
import numpy as np
a = np.array([1, 2, 3])
print(a)
输出结果为:
[1 2 3]
我们还可以使用arange()
函数来创建一个ndarray
对象:
import numpy as np
a = np.arange(10)
print(a)
输出结果为:
[0 1 2 3 4 5 6 7 8 9]
NumPy
中的数组可以通过多种方式创建,例如使用array()
函数、使用arange()
函数、使用linspace()
函数等。下面是一个使用array()
函数创建数组的例子:
import numpy as np
# 创建一个一维数组
a = np.array([1, 2, 3, 4, 5])
print(a)
# 创建一个二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
2.数组的形状和大小
我们可以使用shape
属性来获取数组的形状:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)
输出结果为:
(2, 3)
我们还可以使用size属性来获取数组的大小:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.size)
输出结果为:
6
NumPy中的数组可以进行基本的数学运算、逻辑运算、切片、索引等操作。例如,可以对数组进行加减乘除、取反、求和、求平均值等操作:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([6, 7, 8, 9, 10])
# 数组加法
c = a + b
print(c)
# 数组减法
d = a - b
print(d)
# 数组乘法
e = a * b
print(e)
# 数组除法
f = a / b
print(f)
# 数组取反
g = -a
print(g)
# 数组求和
h = np.sum(a)
print(h)
# 数组求平均值
i = np.mean(a)
print(i)
3.数组的索引和切片
我们可以使用索引和切片来访问数组中的元素。下面是一个简单的例子:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a[0, 0])
print(a[1, 2])
print(a[:, 1])
输出结果为:
1
6
[2 5]
4.数组的运算
NumPy提供了一些用于数组运算的函数。下面是一些常用的函数:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.add(a, b))
print(np.subtract(a, b))
print(np.multiply(a, b))
print(np.divide(a, b))
print(np.power(a, b))
print(np.sqrt(a))
print(np.exp(a))
print(np.sin(a))
print(np.cos(a))
print(np.log(a))
输出结果为:
[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[0.25 0.4 0.5 ]
[ 1 32 729]
[1. 1.41421356 1.73205081]
[ 2.71828183 7.3890561 20.08553692]
[0.84147098 0.90929743 0.14112001]
[ 0.54030231 -0.41614684 -0.9899925 ]
[0. 0.69314718 1.09861229]
二丶Pandas
Pandas是Python中的一个数据分析库,它提供了一些用于处理数据的函数和数据结构。Pandas的主要优点在于它可以处理大量的数据,而且速度非常快。Pandas的核心是DataFrame
对象,它是一个二维表格,可以存储不同类型的元素。
1.创建DataFrame对象
我们可以使用Pandas中的DataFrame()
函数来创建DataFrame
对象。下面是一个简单的例子:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print(df)
输出结果为:
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
DataFrame
是一种类似于二维数组的数据结构,它可以存储任意类型的数据,并且可以通过行索引和列索引进行访问。DataFrame
中的每个元素都有一个行索引和一个列索引,可以通过行索引和列索引进行访问。下面是一个使用DataFrame
创建数据的例子:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40]})
print(df)
# 创建一个带有行索引和列索引的DataFrame
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40]}, index=['a', 'b', 'c', 'd'])
print(df)
2.DataFrame的形状和大小
我们可以使用shape
属性来获取DataFrame
的形状:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print(df.shape)
输出结果为:
(3, 3)
我们还可以使用size属性来获取DataFrame的大小:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print(df.size)
输出结果为:
9
Series
是一种类似于一维数组的数据结构,它可以存储任意类型的数据,并且可以通过索引进行访问。Series
中的每个元素都有一个索引,可以通过索引进行访问。下面是一个使用Series
创建数据的例子:
import pandas as pd
# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])
print(s)
# 创建一个带有索引的Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)
3.DataFrame的索引和切片
我们可以使用索引和切片来访问DataFrame
中的元素。下面是一个简单的例子:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print(df.loc[0, 'name'])
print(df.loc[1, 'age'])
print(df.loc[:, 'gender'])
输出结果为:
Alice
30
0 F
1 M
2 M
Name: gender, dtype: object
4.DataFrame的运算
Pandas提供了一些用于DataFrame
运算的函数。下面是一些常用的函数:
import pandas as pd
data1 = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
data2 = {'name': ['David', 'Edward', 'Frank'], 'age': [40, 45, 50], 'gender': ['M', 'M', 'M']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
print(pd.concat([df1, df2]))
print(pd.merge(df1, df2, on='gender'))
print(df1.groupby('gender').mean())
输出结果为:
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
0 David 40 M
1 Edward 45 M
2 Frank 50 M
name_x age_x gender name_y age_y
0 Bob 30 M David 40
1 Bob 30 M Edward 45
2 Charlie 35 M David 40
3 Charlie 35 M Edward 45
age
gender
F 25
M 32.5
Pandas中的数据可以通过多种方式读取和写入,例如使用read_csv()
函数、使用read_excel()
函数、使用to_csv()
函数、使用to_excel()
函数等。下面是一个使用read_csv()
函数读取数据的例子:
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
print(df)
Pandas中的数据可以进行基本的数据清洗、数据处理、数据分析等操作。例如,可以对数据进行去重、缺失值处理、数据筛选、数据排序、数据分组、数据聚合等操作:
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 去重
df = df.drop_duplicates()
# 缺失值处理
df = df.fillna(0)
# 数据筛选
df = df[df['age'] > 30]
# 数据排序
df = df.sort_values(by='age')
# 数据分组
grouped = df.groupby('gender')
# 数据聚合
result = grouped['age'].mean()
print(result)
NumPy和Pandas是Python中最受欢迎的数据科学和分析库之一。NumPy提供了高性能的多维数组和矩阵计算功能,而Pandas则提供了高效的数据结构和数据分析工具。使用NumPy和Pandas可以方便地进行数据处理、数据分析和数据可视化等操作,是Python中数据科学和分析领域的重要工具。
三丶总结
本文介绍了Python中的NumPy和Pandas的使用方法。NumPy是一个科学计算库,它提供了一个多维数组对象和一些用于处理数组的函数。Pandas是一个数据分析库,它提供了一些用于处理数据的函数和数据结构。NumPy和Pandas都可以帮助我们更好地处理数据,提高数据分析的效率。
更多关注
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程