[数学建模从入门到入土] 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四分位数
相关推荐
551只玄猫1 小时前
【数学建模 matlab 实验报告10】插值
开发语言·数学建模·matlab·课程设计·插值·实验报告
Pelb4 小时前
求导 z = x + y
人工智能·深度学习·数学建模
551只玄猫5 小时前
【数学建模 matlab 实验报告11】拟合
开发语言·数学建模·matlab·数据分析·课程设计·实验报告·拟合
551只玄猫1 天前
【数学建模 matlab 实验报告9】数据的统计分析与描述
数学建模·matlab·数据分析·课程设计·实验报告
AI科技星1 天前
基于三维空间合速度恒为光速公理的统一动力学与热力学理论:温度本质的第一性原理诠释与物质全物态实验验证
开发语言·线性代数·机器学习·计算机视觉·数学建模
wjcroom1 天前
电子python模拟出的一个完美风暴
开发语言·python·数学建模·物理学
人机与认知实验室2 天前
用神经网络、数学、理性思维能实现通用智能吗?
人工智能·深度学习·神经网络·机器学习·数学建模
Pelb3 天前
求导 y = f(x) = x^2
人工智能·深度学习·神经网络·数学建模
2301_764441333 天前
家国同构模型:计算社会学的创新探索
python·数学建模
67X3 天前
2023年MathorCup高校数学建模挑战赛【C题】
数学建模