作为大数据分析入门的关键一周,我围绕 “数据处理基础工具” 展开学习,重点掌握了 NumPy 的数值计算逻辑与 Pandas 的结构化数据操作。以下是本周学习内容的详细梳理与反思。
一、学习背景与核心目标
大数据分析的核心是 “高效处理数据、挖掘数据价值”,而 NumPy 与 Pandas 正是 Python 生态中支撑这一目标的基础库 ——NumPy 解决 “海量数值计算效率” 问题,Pandas 解决 “结构化数据(如表格)灵活操作” 问题。本周的学习目标明确:
理解 NumPy 数组(ndarray)与 Python 列表的差异,掌握基础数值操作;
掌握 Pandas 两种核心数据结构(Series、DataFrame)的创建与常用操作;
完成 1-2 个简单案例,将语法应用于实际数据场景(如学生成绩统计、商品价格分析)。
二、核心知识点梳理:从语法到逻辑
(一)NumPy 库:NumPy 的核心是ndarray(N 维数组) ,它比 Python 列表更节省内存、支持向量化运算(无需循环即可对数组元素批量操作)这是我觉得 NumPy 最牛的地方!不用写 for 循环一个个算,就可以直接写。举个例子:
# 每个数都加2,结果是[3,4,5,6]
arr1_plus2 = arr1 + 2
# 每个数都乘3,结果是[3,6,9,12]
arr1_mul3 = arr1 * 3
老师说这叫 “向量化运算”,数据越多越快,比如算 10 万个数据的平方,用列表可能要等好几秒,NumPy 一下子就出来了,这对大数据分析太重要了,效率直接提升。
- 基础语法:
(二)Pandas 库:如果说 NumPy 是 “计算器”,那 Pandas 就是 “带标签的表格本”。它基于 NumPy 构建,支持带标签的行 / 列,能轻松实现数据筛选、清洗、合并等高频操作,核心数据结构是Series(1 维带标签数组) 和DataFrame(2 维表格) 。
- Series:给数据 “贴标签”
比如我想记 “小明、小红、小刚的数学成绩”,用 Series 就能把 “名字” 和 “成绩” 对应上,不用记索引(比如小明是第 0 个、小红是第 1 个):
import pandas as pd # 把Pandas调出来
# 左边是名字(标签),右边是成绩,还能给这组数据起个名
score_series = pd.Series([90, 85, 95], index=["小明", "小红", "小刚"], name="数学成绩")
# 想找小红的成绩,直接输名字就行,不用数位置
print(score_series["小红"]) # 出来就是85
# 想找成绩≥90的人,也不用循环,一句话搞定
print(score_series[score_series >= 90]) # 出来小明90、小刚95
- DataFrame:做个 “完整表格”
这个是最常用的!比如做一个 “学生成绩表”,有姓名、数学、语文两科成绩,用DataFrame 就能排成跟 Excel 一样的表格,还能随便筛选、改数据:
# 先准备数据,像填表格一样,键是列名,值是列里的内容
student_data = {"姓名": ["小明", "小红", "小刚"],"数学": [90, 85, 95],"语文": [88, 92, 80]
}
# 把数据变成表格
score_df = pd.DataFrame(student_data)
# 想只看“姓名”和“语文”列,直接挑列名
print(score_df[["姓名", "语文"]])
# 想找数学≥90的学生,一句话筛选
print(score_df[score_df["数学"] >= 90])
# 想算语文成绩的平均分,直接用mean()
print(score_df["语文"].mean()) # 出来是(88+92+80)/3=86.666...
三、下周学习计划与总结
- 本周总结
第一周的学习让我建立了 “大数据分析基础工具” 的认知框架:NumPy 是 “效率基石”,解决数值计算问题;Pandas 是 “操作核心”,解决结构化数据管理问题。 - 下周计划
深入学习 Pandas 进阶操作:数据合并(merge)、分组统计(groupby);
学习用 Matplotlib 库绘制基础图表(柱状图、折线图),将本周分析的商品数据可视化;
完成一个综合案例(如 “学生成绩多维度分析”),串联 NumPy、Pandas 与 Matplotlib。
总的来说,第一周算是入门了,接下来就是多练多错多改,慢慢把这些工具用熟~