作业

发布时间 2023-12-17 19:08:47作者: 不会三分也一样

1. 计算数组中的统计量
python
Copy code
import numpy as np

# 创建一个示例数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算数组的均值、标准差和和
mean = np.mean(arr)
std_dev = np.std(arr)
total_sum = np.sum(arr)

print("Mean:", mean)
print("Standard Deviation:", std_dev)
print("Total Sum:", total_sum)
2. 数组操作
python
Copy code
import numpy as np

# 创建两个示例数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

# 数组相加、相乘和转置
sum_array = np.add(arr1, arr2)
product_array = np.multiply(arr1, arr2)
transpose_array = np.transpose(arr1)

print("Sum of arrays:")
print(sum_array)

print("\nElement-wise Product of arrays:")
print(product_array)

print("\nTranspose of arr1:")
print(transpose_array)
3. 解方程组
python
Copy code
import numpy as np

# 系数矩阵
coefficients = np.array([[2, 3], [1, -2]])
# 常数向量
constants = np.array([8, -3])

# 解线性方程组
solution = np.linalg.solve(coefficients, constants)

print("Solution of the equations:", solution)
4. 数学运算
python
Copy code
import numpy as np

# 计算三角函数值
angles = np.array([0, np.pi/2, np.pi])
sin_values = np.sin(angles)
cos_values = np.cos(angles)
tan_values = np.tan(angles)

print("Sine values:", sin_values)
print("Cosine values:", cos_values)
print("Tangent values:", tan_values)
这些是使用NumPy解决问题的一些示例。NumPy提供了丰富的功能,能够处理各种数学运算、数组操作和线性代数等问题。根据具体的问题,你可以利用NumPy中的函数和方法来解决各种数值计算和数据处理任务。

SciPy是建立在NumPy之上的库,提供了更高级的科学计算功能,包括数值积分、优化、线性代数、信号处理、统计等。下面是一些使用SciPy解决实际问题的示例代码:
1. 数值积分
pythonCopy code
import numpy as np
from scipy.integrate import quad

# 定义要积分的函数
def integrand(x):
return np.sin(x)

# 计算定积分
result, _ = quad(integrand, 0, np.pi)

print("Result of definite integral:", result)
2. 最小化函数
pythonCopy code
from scipy.optimize import minimize

# 定义要最小化的函数
def objective_function(x):
return (x - 3) ** 2 + 5

# 使用最小化算法找到函数的最小值
initial_guess = 0 # 初始猜测值
result = minimize(objective_function, initial_guess)

print("Minimum value:", result.fun)
print("Optimal solution:", result.x)
3. 解常微分方程(ODE)
pythonCopy code
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt

# 定义微分方程
def exponential_decay(t, y):
return -0.5 * y

# 设置时间间隔
time_span = (0, 10)
# 设置初始条件
initial_conditions = [5]

# 解常微分方程
solution = solve_ivp(exponential_decay, time_span, initial_conditions, t_eval=np.linspace(0, 10, 100))

# 绘制结果
plt.figure(figsize=(8, 6))
plt.plot(solution.t, solution.y[0], label='y(t)')
plt.xlabel('Time')
plt.ylabel('y')
plt.title('Exponential Decay')
plt.legend()
plt.grid(True)
plt.show()
4. 统计分析
pythonCopy code
from scipy.stats import norm

# 正态分布统计分析
data = np.random.normal(loc=0, scale=1, size=1000)

# 计算均值和标准差
mean = np.mean(data)
std_dev = np.std(data)

# 计算累积分布函数(CDF)
cdf_at_0 = norm.cdf(0, loc=mean, scale=std_dev)

print("Mean:", mean)
print("Standard Deviation:", std_dev)
print("CDF at 0:", cdf_at_0)
这些示例展示了SciPy库在数值积分、最小化函数、解常微分方程以及统计分析等方面的功能。SciPy提供了许多高级工具,可用于解决各种科学计算问题。根据具体情况,你可以使用SciPy的不同模块来应对特定的问题并利用其丰富的功能。

Pandas 是一个强大的数据分析工具,主要用于数据操作和数据分析。下面是一些使用 Pandas 解决实际问题的示例代码:
1. 读取和处理数据
pythonCopy code
import pandas as pd

# 读取 CSV 文件
data = pd.read_csv('data.csv')

# 显示数据的前几行
print(data.head())

# 数据基本信息
print(data.info())

# 描述性统计信息
print(data.describe())
2. 数据选择和过滤
pythonCopy code
# 选择特定列
selected_column = data['Column_Name']

# 根据条件过滤数据
filtered_data = data[data['Column_Name'] > 10]

# 多重条件过滤
filtered_data = data[(data['Column1'] > 5) & (data['Column2'] < 20)]
3. 数据清洗
pythonCopy code
# 处理缺失值
data.dropna() # 删除包含缺失值的行
data.fillna(value) # 填充缺失值为指定值

# 删除重复行
data.drop_duplicates()
4. 数据分组和聚合
pythonCopy code
# 按列进行分组并计算每组的统计量
grouped_data = data.groupby('Column_Name').agg({'Column1': 'mean', 'Column2': 'sum'})

# 透视表
pivot_table = pd.pivot_table(data, values='Value', index='Index', columns='Column', aggfunc=np.sum)
5. 数据可视化
pythonCopy code
import matplotlib.pyplot as plt

# 绘制直方图
data['Column'].hist()
plt.title('Histogram of Column')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()

# 绘制折线图
data.plot(x='X_Column', y='Y_Column', kind='line')
plt.title('Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
这些示例展示了 Pandas 库在数据读取、数据处理、数据分析和可视化方面的功能。Pandas 提供了丰富的工具和函数,用于处理各种数据操作。根据具体情况,你可以使用 Pandas 的方法和函数来操作和分析数据,以满足特定的需求

 

Matplotlib 是一个用于数据可视化的 Python 库,可以创建各种类型的图表,如折线图、散点图、柱状图等。以下是一些使用 Matplotlib 解决实际问题的示例代码:
1. 绘制折线图
pythonCopy code
import matplotlib.pyplot as plt

# 准备数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制折线图
plt.plot(x, y, marker='o', linestyle='-', color='b')
plt.title('Line Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.grid(True)
plt.show()
2. 绘制散点图
pythonCopy code
# 准备数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 绘制散点图
plt.scatter(x, y, color='r', label='Data Points')
plt.title('Scatter Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend()
plt.grid(True)
plt.show()
3. 绘制柱状图
pythonCopy code
# 准备数据
categories = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]

# 绘制柱状图
plt.bar(categories, values, color='g')
plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.show()
4. 绘制直方图
pythonCopy code
# 准备数据
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5]

# 绘制直方图
plt.hist(data, bins=5, color='purple')
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()
5. 自定义图表
pythonCopy code
# 绘制多个图表
plt.figure(figsize=(10, 6))

plt.subplot(2, 2, 1)
plt.plot(x, y)
plt.title('Subplot 1')

plt.subplot(2, 2, 2)
plt.scatter(x, y)
plt.title('Subplot 2')

plt.subplot(2, 2, 3)
plt.bar(categories, values)
plt.title('Subplot 3')

plt.subplot(2, 2, 4)
plt.hist(data, bins=5)
plt.title('Subplot 4')

plt.tight_layout()
plt.show()
这些示例展示了 Matplotlib 库在创建不同类型图表和自定义图表方面的功能。Matplotlib 提供了丰富的函数和选项,可用于创建具有各种样式和特性的图形。根据需求,可以使用 Matplotlib 的方法和参数对图表进行自定义和调整,以满足特定的可视化需求。