py数据科学学习笔记day1-会用到的一些基础库

4 阅读2分钟

 

一、数据结构与基础处理

1. NumPy(数值计算核心)

  • 定位:Python科学计算的基石,提供高效多维数组(ndarray)和向量化运算。

  • 核心功能:数组创建、数值运算(矩阵乘法、统计计算)、随机数生成。

  • 典型用法

 import numpy as np

  # 创建数组

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

  # 数值运算

  print(arr.sum())  # 求和

 

2. Pandas(表格数据处理)

  • 定位:专为表格数据(如CSV、Excel)设计的处理库,核心结构为DataFrame(二维表格)和Series(一维序列)。

  • 核心功能:数据读取(read_csv)、筛选、分组、聚合、缺失值处理。

  • 典型用法

  import pandas as pd

  # 读取数据

  df = pd.read_csv("data.csv")

  # 筛选数据

  filtered_df = df[df["age"] > 30]

 

 

二、科学计算

SciPy(高级科学计算)

  • 定位:基于NumPy的高级科学计算库,专注工程、物理、数学领域的专业计算。

  • 核心子模块

  - scipy.integrate:数值积分(定积分、常微分方程求解);

  - scipy.linalg:线性代数操作(矩阵分解、求逆、特征值)。

  • 典型用法(数值积分示例):

 

  from scipy.integrate import quad

  # 计算∫(0到1) x² dx

  result, _ = quad(lambda x: x**2, 0, 1)

  print(result)  # 输出:0.333333...

 

 

三、数据可视化

1. Matplotlib(基础可视化)

  • 定位:Python可视化的“基石”,支持折线图、柱状图、散点图等基础图表。

  • 典型用法(折线图):

  import matplotlib.pyplot as plt

  x = [1, 2, 3]

  y = [2, 4, 6]

  plt.plot(x, y)

  plt.title("Line Plot")

  plt.show()

 

2. Seaborn(统计可视化)

  • 定位:基于Matplotlib的高级统计可视化库,专注于美观的统计图表(如散点图、热力图、箱线图)。

  • 典型用法(散点图):

  import seaborn as sns

  df = sns.load_dataset("iris")

  sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=df)

  plt.show()

 

 

四、机器学习与统计建模

1. Scikit-Learn(工程化机器学习)

  • 定位:最流行的机器学习库,封装经典算法(线性回归、决策树等),接口统一(fit训练、predict预测)。

  • 典型用法(线性回归)


  from sklearn.linear_model import LinearRegression

  import numpy as np

  # 准备数据

  X = np.array([[1], [2], [3]])

  y = np.array([2, 4, 6])

  # 建模与训练

  model = LinearRegression().fit(X, y)

  # 预测

  print(model.predict([[4]]))  # 输出:[8.]

 

2. Statsmodels(统计推断建模)

  • 定位:专注统计建模与推断,输出p值、置信区间等统计指标,适合学术分析。

  • 典型用法(OLS线性回归)

  import numpy as np

  import statsmodels.api as sm

  # 准备数据

  x = np.random.rand(100)

  y = 2 * x + 1 + np.random.rand(100)

  X = sm.add_constant(x)  # 添加截距项

  # 拟合与统计分析

  model = sm.OLS(y, X).fit()

  print(model.summary())  # 输出完整统计报告

 

 

五、地理空间数据处理(GeoPandas)

  • 定位:扩展Pandas功能,专为矢量地理数据(Shapefile、GeoJSON等)设计,支持空间处理与可视化。

  • 核心数据结构GeoDataFrame(含geometry列存储地理要素,如点、多边形)。

  • 典型用法

  import geopandas as gpd

  import matplotlib.pyplot as plt

  # 读取Shapefile

  gdf = gpd.read_file("taxi_zones.shp")

  # 地图可视化

  gdf.plot(column="人口密度", cmap="viridis", legend=True)

  plt.title("区域人口密度分布")

  plt.show()