[数学建模从入门到入土] pandas

[数学建模从入门到入土] pandas

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

注意

  1. 简单数据预处理先用excel做
  2. 复杂数据预处理用jupyter
  3. 全都处理好, 然后导出为csv, 再用py

读取

1.第一行有杂乱信息
py 复制代码
df = pd.read_csv(
    './Wimbledon_featured_matches.csv', encoding='gbk',
    skiprows=1 # 跳过第1行, 从2行开始读取
)

显示

1.横线被压缩成...
py 复制代码
pd.set_option("display.max_columns", None)   # 显示所有列
pd.set_option("display.width", None)         # 不限制总宽度(按终端/环境尽量铺开)
pd.set_option("display.max_colwidth", None)  # 单个单元格内容不截断(长字符串也全显示)

建议保存成excel再看

类型转换

py 复制代码
# 一维
s = pd.to_numeric(df[col], errors="coerce")
# 多维
df_numeric = df[cols].apply(pd.to_numeric, errors="coerce")

errors="coerce" 的意思是:强制转 ,转不了就变成 NaN(缺失值)

quantile()mean() 这类统计时,NaN 会被自动忽略 (默认 skipna=True

分组 group

1.拆成字典
py 复制代码
grouped = {
    依据内容: sub_df.reset_index(drop=True) # sub_df 的行索引重新设置为从 0 开始
    for 依据内容, sub_df in df.groupby("依据")
}
2.直接遍历
py 复制代码
for 依据内容, sub_df in df.groupby("依据"):
    ...

数据分析

1.序列中最多的前5个元素
py 复制代码
top5 = (
    pd.to_numeric(df['p1_distance_run_new'], errors='coerce')  # 只在统计时转数值
      .value_counts()                        # 统计频数
      .head(5)                               # 取前 5
)
2.第几分位数
py 复制代码
Q1 = s.quantile(0.25) # 第1四分位数
Q3 = s.quantile(0.75) # 第3四分位数
相关推荐
山楂树の16 小时前
【高等数学】格林公式及其在曲线积分中的应用
数学建模
薛定e的猫咪2 天前
【Bayesian Analysis 2023】大数据背景下的分布式贝叶斯模型选择
大数据·分布式·算法·数学建模
田里的水稻2 天前
OE_ubuntu24.04安装ros2
人工智能·算法·数学建模·机器人·自动驾驶
有为少年2 天前
从独立性、相关性到复杂动力系统
人工智能·深度学习·机器学习·数学建模
李兴球2 天前
C++罗马曲面3D旋转程序代码解说_C++精灵库应用案例
数学建模·c++趣味编程·c++创意编程·c++计算机图形学·c++3d编程·c++数学可视化·c++3d 艺术
田里的水稻3 天前
FA_建图和定位(ML)-超宽带(UWB)定位
人工智能·算法·数学建模·机器人·自动驾驶
田里的水稻3 天前
EP_基于UWB和单线激光雷达的托盘转送
人工智能·算法·数学建模·机器人·自动驾驶
zwenqiyu4 天前
数学第一次测试分析 分数124
数学建模
开开心心_Every4 天前
系统清理工具清理缓存日志,启动卸载管理
运维·服务器·网络·数学建模·电脑·excel·抽象代数