经常使用Python进行数据处理的就知道,pandas是一个功能强大的数据处理工具。一、pandas 是什么?
pandas 是 Python 中最常用的 数据分析 / 数据处理库,专门用来:
处理 表格型数据(像 Excel、CSV、数据库表)
做 清洗、筛选、统计、时间序列分析
给后续的 建模、绘图、机器学习打基础
一句话:
👉 pandas = Excel + SQL + 数据清洗工具箱(但更强)
二、pandas 能干什么?
1️⃣ 读取和写入数据
支持几乎所有常见格式:
import pandas as pddf = pd.read_csv("data.csv")df = pd.read_excel("data.xlsx")df = pd.read_sql("select * from table", conn)df.to_csv("out.csv", index=False)
2️⃣ 数据清洗(这是它的强项)
缺失值处理
异常值过滤
类型转换
去重、替换
df.dropna()df.fillna(0)df.drop_duplicates()df["date"] = pd.to_datetime(df["date"])
3️⃣ 数据筛选与条件过滤(比 Excel 爽多了)
df[df["SM"] > 0.2]df[(df["landcover"] == "cropland") & (df["angle"] < 35)]
4️⃣ 统计分析 & 分组计算(SQL 级别)
df.mean()df.describe()df.groupby("site")["SM"].mean()df.groupby("landcover").agg(["mean", "std"])
5️⃣ 时间序列处理(科研常用)
df.set_index("date")df.resample("7D").mean()df.rolling(window=5).mean()
比如:
按周 / 月统计
平滑土壤水分时间序列
6️⃣ 和 NumPy / Matplotlib 无缝衔接
df.values # 转 numpydf.plot() # 直接画图
pandas 本身不“高级画图”,但 做探索性分析非常快。
三、pandas 的两个核心数据结构(重点)
① Series(一维)
类似一列数据
有索引
② DataFrame(二维表格)⭐
df = pd.DataFrame({ "SM": [0.12, 0.18, 0.25], "VV": [-10.3, -9.1, -7.8]})
你可以把 DataFrame 当成 Excel 表 / 数据库表。
四、最常用的 DataFrame 操作速查
🔹 查看数据
df.head()df.tail()df.info()df.describe()
🔹 选行 / 选列
df["SM"]df[["SM", "VV"]]df.loc[0:10, "SM"]df.iloc[0:10, 0:2]
🔹 新建 / 修改列
df["VV_dB"] = 10 * np.log10(df["VV"])
🔹 排序 & 去重
df.sort_values("SM")df.drop_duplicates(subset=["site", "date"])
六、pandas vs 你可能用过的东西