0
点赞
收藏
分享

微信扫一扫

pythone numpy数组的使用

1、详细说明:

使用NumPy进行数据分析是一个强大且高效的选择。以下是一步一步的指南,帮助您熟悉并利用NumPy进行数据处理:

1. 安装NumPy

首先安装NumPy库。如果您是在终端或命令提示符中操作,可以执行以下命令:

pip install numpy

2. 导入 NumPy

在您的代码中导入 NumPy 以便使用其功能:

import numpy as np


3. 创建数组

NumPy 数组可以通过 np.array() 函数创建。例如,创建一个简单的整数数组:

# 创建一个包含1到5的整数数组
arr = np.array([1, 2, 3, 4, 5])

或者从现有列表转换为数组:

arr = np.array([1, 2, 3], dtype=np.int64)

4. 基本操作与函数

  • 计算平均值

average = np.mean(arr)  # 计算平均值
print(average)

  • 创建常数数组

constant_arr = np.full(5, 2.5)  # 创建一个全为2.5的长度为5的数组

  • 数据类型转换

arr_float = arr.astype(np.float64)  # 将整数数组转为浮点型

5. 数组形状与尺寸

了解数组结构:

print(arr.shape)  # 查看维度,例如:(5,)
print(arr.size)    # 返回元素总数
print(arr.ndim)   # 查看维度数量,比如2D数组会是2

6. 基本运算

  • 加法

result = np.add(arr1, arr2)
# 或更简洁地:
result = arr1 + arr2

  • 乘法与减法,同样可以通过 *- 运算符实现。

7. 索引与切片

提取数组的一部分:

subarray = arr[0:3]       # 提取前三个元素
reverse_subarray = arr[::-1]  # 反转整个数组

创建步长为2的新数组(每隔一个元素提取一个):

step_array = arr[::2]

8. 过滤与排序

  • 筛选:使用 np.where() 或布尔数组来筛选满足条件的元素。

filtered = np.where(arr > 3, True, False)
print(filtered)  # 结果是一个布尔数组

  • 排序

sorted_arr = arr.sort()  # 在原地排序,返回新数组
print(sorted_arr)

9. 高级操作与函数

  • 矩阵逆与行列式(假设 arr 是一个2D NumPy数组):

det = np.linalg.det(arr)    # 计算行列式
inv = np.linalg.inv(arr)   # 计算矩阵的逆

  • 傅里叶变换

import numpy as np
# 对一个信号进行快速傅里叶变换(FFT)
frequency = np.fft.fft(signal)

10. 数组合并与拼接

  • 沿着轴拼接

new_arr = np.concatenate(arr1, arr2)  # 按照行或列连接,视情况而定
# 或更明确地:
new_arr = np.vstack((arr1, arr2))  # 垂直堆叠
new_arr = np.hstack((arr1, arr2))   # 水平堆叠

11. 输入输出操作

  • 保存数据

np.savetxt('filename.txt', array, delimiter=',')  # 使用逗号作为分隔符

  • 读取文件

data = np.loadtxt('filename.txt')
# 或使用 pandas 读取 CSV 文件:
import pandas as pd
df = pd.read_csv('filename.csv')

12. 向量化与批量处理

  • 避免循环:用向量化操作代替,例如:

# 替代传统的for循环
sum_values = np.sum(arr)  # 计算数组总和
# 而不是:
# total = 0
# for num in arr:
#     total += num

13. 实战示例:读取 CSV 并分析数据

import numpy as np
import csv

# 读取文件
with open('data.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    data = list(reader)

# 将数据转换为数组
arr = np.array(data, dtype=np.float64)

# 计算平均值
average = np.mean(arr)
print(f"数据集的平均值是:{average}")

说明:上述来自AI

2、Spyder简单尝试:

pythone numpy数组的使用_数组

3、代码:

import numpy as py

arr = py.ones(3,dtype=object)
arr = ['abc',"cdb","dbe"]
print(arr,',')

arr[2] = "hello"
print(arr,',')

arr.append("world")
print(arr,',')

arr.remove("hello");
print(arr,',')

iIndex = arr.index('abc',0)
print(arr,'abc数组中的位置index:',iIndex)

arr.insert(1, 100)
print(arr,',')

arr = py.array(['1' for _ in range(3)], dtype=object)
print(arr,'arr元素个数:', arr.size,',')

arr = py.array(['1','2','3'], dtype=object)
print(arr,',')

arr = py.ones((3,3))
print(arr,',')

arr = py.arange(0,100)
print(arr,',')

arr = py.empty(3)
print(arr,',')

arr = py.zeros(10,dtype=str)
print(arr,',')

说明:这里as 后面一般是np,其实叫py也是一样,只是一个别名。

4、运行结果:

pythone numpy数组的使用_数组_02

举报

相关推荐

0 条评论