【限时特惠】小白玩转Python数据分析_哔哩哔哩_bilibili
字典查询逻辑
Section titled “字典查询逻辑”- 使用
if query in slang_dict:判断用户输入的query是否为字典中的键- 如果存在,先打印
'您查询的' + query + ' 含义如下:' - 然后打印
slang_dict[query]获取并显示释义
- 如果存在,先打印
- 代码示例:
query = input("请输入您想要搜索的流行语:")
if query in slang_dict: print("您查询的" + query + " 含义如下:") print(slang_dict[query])Python字典
处理未收录查询
Section titled “处理未收录查询”- 如果
query不在slang_dict中,使用else分支- 打印
您查询的流行语暂未收录。 - 告知词典当前收录词条数:
当前本词典收录词条数为:{str(len(slang_dict))}
- 打印
- len函数:返回字典键值对数量(整数)
len(slang_dict)返回整数,需要str()转换为字符串才能在 f-string 中使用
代码示例:
print(f"您查询的流行语暂未收录。")print(f"当前本词典收录词条数为:{str(len(slang_dict))}")处理查询不存在的情况
Section titled “处理查询不存在的情况”- 添加
else分支:- 打印
当前本词典收集的流行语数为:+ str(len(slang_dict)) +&;条, - 打印
您查询的流行语暂时未收录。
- 打印
- 完整代码示例:
query = input("请输入您想要的流行语:")
if query in slang_dict: print("您查询的流行语是:" + query + " 含义如下:") print(slang_dict[query])else: print("当前本词典收集的流行语数为:" + str(len(slang_dict)) + " 条,") print("您查询的流行语暂时未收录。")- 运行演示:
- 输入 YYDS(存在):打印查询提示 + 释义
- 输入不存在词:打印词典条数 + 未收录提示
Python for循环迭代
Section titled “Python for循环迭代”- 迭代场景:处理大量数据,如全公司上万人体温自测信息,找高于38度的,手动一条条查太慢
- Python用for循环进行迭代
- 迭代对象:列表、字典、字符串等
- 对列表:按顺序对每个元素做事情
- 对字典:按顺序对每个键或值做事情
- 对字符串:按顺序对每个字符做事情
- 基本结构:
for 变量名 in 可迭代对象:
# 对每个变量做一些事情
# ...- **for** 是关键字- 空格后**变量名**:代表迭代对象里的每一个东西for循环的in关键字和变量赋值
Section titled “for循环的in关键字和变量赋值”- 完整语法:
for 变量名 in 可迭代对象:- 关键词 in 后面跟迭代对象
- 示例检查体温列表:
for temperature in temperature_list:
# 对每个变量做一些事情
# ...- 变量赋值机制:
temperature(自命名,无所谓具体叫什么)依次赋值为temperature_list中的每个元素,直到最后一个temperature_list已定义,包含全公司人员体温
- 循环体:for下面一行开始的所有缩进语句视为循环内代码
- 对每个元素执行一遍
- 实际应用示例:检查每个体温,若超过38度打印数值和“完球了”
temperature_list = [36.4, 36.6, 36.2, 37.0, 36.] # 示例部分for temperature in temperature_list: if temperature > 38: print(temperature) print("完球了")- 运行输出示例:38.3完球了38.1完球了- **优势**:只需统计“完球了”出现次数,即知发烧人数字典迭代筛选具体人员
Section titled “字典迭代筛选具体人员”- 列表迭代(如体温列表)只能知道有多少人发烧,但无法知道具体是谁
- 示例:
temperature_list = [36.4, 36.6, 36.2, 37.0, 36.5, 36]for temperature in temperature_list: if temperature >= 38: print(temperature) print("完球了")- 实际输出:**无输出**(列表中无温度≥38)- 使用工号-体温字典:
temperature_dict = {"111":36.4, "112":36.6, "113":36.2, "114":37.0, "115":36.5, "116":36}- 字典方法:
字典名.keys():返回所有键(工号)字典名.values():返回所有值(体温)字典名.items():返回所有键值对(元组形式,如("111", 36.4))
- 字典方法:
- 结合for循环迭代items(),解包键值对筛选发烧工号:
for staff_id, temperature in temperature_dict.items(): if temperature >= 38: print(staff_id)- **解包机制**:`items()` 返回元组,第一个元素赋给 `staff_id`,第二个赋给 `temperature` - 示例元组:`("111", 36.4)` → staff\_id="111", temperature=36.4Python while循环与range函数
Section titled “Python while循环与range函数”- for循环items()解包等价写法:
for staff_id, temperature in temperature_dict.items():等同于元组逐元素赋值- 运行后打印所有体温≥38度的员工工号
- range函数:生成整数数列
- 语法:
range(起始值, 结束值)(括号内第一个数字为起始,最后一个为结束值) - 应用场景:计算1到100和,手算累加太累
- 语法:
- 高斯公式:小学时计算1+2+…+100 = 5050
- 公式:首 + 尾 × 项数 ÷ 2
- 没有高斯那么聪明,用while循环 + range实现
- 公式:首 + 尾 × 项数 ÷ 2
range函数在for循环中的使用
Section titled “range函数在for循环中的使用”- range(起始值, 结束值):生成从起始值到结束值-1的序列
- 示例:
range(5, 10)→ i 依次为 5,6,7,8,9(结束值10不包含)
- 示例:
for i in range(5, 10): print(i)输出:5 6 7 8 9- range(起始值, 结束值, 步长):步长默认为1
- 示例打印1-9奇数:
range(1, 10, 2)→ 1,3,5,7,9
- 示例打印1-9奇数:
for num in range(1, 10, 2): print(num)输出:1 3 5 7 91到100累加求和示例
Section titled “1到100累加求和示例”- 高斯难题:用for循环秒算1+2+…+100
total = 0 for i in range(1, 101): total = total + i print(total) # 输出 5050- **机制**:total初始0,循环中i依次为1,2,3...100,累加到total - 第一次:total = 0 + 1 = 1 - 第二次:total = 1 + 2 = 3 - ... 直到total=5050while函数
while循环介绍:日落拍照问题
Section titled “while循环介绍:日落拍照问题”- 需求:持续测量天空亮度,亮度≥500时拍照,直到亮度<500
- 问题:仅用if
measure_brightness() >= 500:- 只判断一次,最多拍一张照片,无法捕捉全过程
# measure_brightness() 返回当前天空亮度if measure_brightness() >= 500:
# 拍照片 take_photo()- 局限:程序执行一次if即结束,需循环机制实现持续判断
while循环解决未知重复次数问题
Section titled “while循环解决未知重复次数问题”- for循环局限:固定执行100次(如
for i in range(100):),计算机太快,可能日落前循环结束- 示例:重复if
measure_brightness() >= 500判断拍照,但次数未知
- 示例:重复if
- while循环:条件为真时反复执行,直到为假
- 基本结构:
while 条件A: 行动B- **执行流程**:判断**条件A**(需为布尔值True/False)是否为真 - 为真:执行缩进的**行动B**,然后**再次判断条件** - 为假:循环**结束**+-------+| 条件A |+-------+ | v+-------+| 行动B |+-------+ | +-----> 结束- 应用:日落拍照——亮度≥500时持续拍照,直到<500
while循环首次判断规则与for转换
Section titled “while循环首次判断规则与for转换”- 首次条件为假:行动B零次执行
日落拍照while循环代码
Section titled “日落拍照while循环代码”# measure_brightness() 返回当前天空亮度while measure_brightness() >= 500:
# 拍照片 take_photo()- 效果:亮度≥500时持续拍照,直到<500
while与for互相转换
Section titled “while与for互相转换”-
打印列表每个元素(
list1 = ["你", "好", "吗", "兄", "弟"])三种等价写法:- 直接for迭代
for char in list1: print(char)1. **for + range(len())**for i in range(len(list1)): print(list1[i])1. **while + 索引递增**i = 0 while i < len(list1): print(list1[i]) i = i + 1for + range(len(list1)) 机制
Section titled “for + range(len(list1)) 机制”- range(len(list1)):只放一个值时,起始值默认为0,结束值为
len(list1)- i 依次赋值为 0,1,2,… 到
len(list1)-1 - 0 是列表第一个元素的索引,
len-1是最后一个元素的索引
- i 依次赋值为 0,1,2,… 到
- 等价于打印列表所有元素:
print(list1[i])
while循环打印列表机制
Section titled “while循环打印列表机制”- 初始:
i = 0 - 条件:
i < len(list1)为真进入循环- 打印
list1[i](第一个元素) i = i + 1(变为1)- 再次判断条件,继续循环直到 i >= len(list1)
- 打印
三种循环写法的总结与对比
Section titled “三种循环写法的总结与对比”- 三种写法打印列表元素:for直接迭代、for+range(len())、while+i递增,完全等价
- for循环优势:在既可用for又可用while时,for更简单直观,所需行数更少
- while循环风险:比for更危险
- 示例:忘记写
i = i + 1,i一直=0,条件i < len(list1)一直为真,进入无限循环
- 示例:忘记写
- while适用场景:for做不到的事
- 如日落拍照:循环结束次数未知,while更适合
for循环适用条件
Section titled “for循环适用条件”- 明确循环对象或次数时,for更方便
- 列表、字典、range生成的序列等
for与while循环适用场景对比
Section titled “for与while循环适用场景对比”- for循环:有明确循环对象或次数
- 👍 明确迭代对象(如列表、range)
- while循环:循环次数未知
- 👍 特别适合不知道需要循环多少次的情况
- while更通用
while循环实践:用户输入数字求平均值计算器
Section titled “while循环实践:用户输入数字求平均值计算器”- 需求:用户输入任意数量数字,最后输入 q 表示完成,程序计算并输出平均值
- 先暂停视频,自己尝试编写
- 参考代码从打印欢迎信息开始
代码开头:
print('Hello ya 2 3.00 4.00 5.00')print('我是一个求平均值的程序')用户输入平均值计算器:持续输入逻辑
Section titled “用户输入平均值计算器:持续输入逻辑”- 打印程序提示:
print('这是一个求平均值的程序。') - 获取用户输入:
user_input = input('请输入数字(完成所有数字输入,请输入q停止程序):')- input返回字符串,必须赋值给变量才能保存结果
- 持续输入需求:反复获取输入直到用户输入 q
- 这种情况(持续执行直到条件为假)适合 while 循环
用户输入平均值计算器:while循环持续输入逻辑
Section titled “用户输入平均值计算器:while循环持续输入逻辑”- while循环条件:
while user_input != "q":- 因为要不等于q时继续循环,所以用**!=**(不等于)
- 循环体内:再次执行
user_input = input(...)获取下一个输入
- 完整代码示例:
print('这是一个求平均值的程序。')user_input = input('请输入数字(完成所有数字输入,请输入q停止程序):')while user_input != "q": user_input = input('请输入数字(完成所有数字输入,请输入q停止程序):')- 运行演示:
- 输入23 → 继续要输入
- 输入2134 → 继续要输入
- 输入5242 → 继续要输入
- 输入q → while循环结束,程序完成
- 关键逻辑:不等于q时反复要输入,已搭建好持续输入框架
用户输入平均值计算器:total和count初始化
Section titled “用户输入平均值计算器:total和count初始化”- 计算平均值需要总和和个数:平均值 = 总和 ÷ 个数
- 初始化变量:
total = 0:记录所有输入数字的总和count = 0:记录输入数字的个数
代码示例:
print("这是一个求平均值的程序")total = 0count = 0while user_input != "q": user_input = input("请输入数字(完成所有数字输入后,请输入q终止程序):")- 累加位置关键:必须在while循环内执行,否则只加一次
- 若放
user_input = input(...)后面,首次输入不会被累加 - 若用户首次输入q,需避免无效累加
- 若放
面向对象编程优势
Section titled “面向对象编程优势”- 对象封装:将所有相关属性和方法写在一起
- 结合属性和方法,更优雅处理复杂逻辑
- 避免参数重复传递:如洗衣机容量作为对象属性
- 对象创建时设置容量
- 后续方法直接调用自身属性,无需每次传参
DataFrame练习题
Section titled “DataFrame练习题”- 导入pandas:
import pandas as pd- 同时使用 **pandas.all()** 函数- 创建name Series:
- 元素:
'小明', '小红', '小王', '小李', '小华' - 索引:
'001', '002', '003', '004', '005'
- 元素:
- 创建height Series:
- 元素:
172.5, 168.2, 178.1, 181.3, 161.7 - 索引:
'001', '002', '003', '004', '005'
- 元素:
- 创建students DataFrame:
- 数据来源:name 和 height Series
- index:
'001' 到 '005'
- 打印列名:显示students所有列名
Pandas入门
Section titled “Pandas入门”创建name Series示例
Section titled “创建name Series示例”- 引入库:
import pandas as pd - pd.Series创建:传入姓名列表
pd.Series([ '小李', '小王', '小张', '小陈', '小周'])- 列表元素直接复制(引号、逗号为英文标点)
DataFrame创建:用多个Series组合
Section titled “DataFrame创建:用多个Series组合”- 创建多个Series并指定index:
name = pd.Series(['张三', '李四', '王五', '赵六', '孙七'], index=['001', '002', '003', '004', '005'])age = pd.Series([20, 22, 21, 23, 22], index=['001', '002', '003', '004', '005'])score = pd.Series([80.0, 90.0, 70.0, 85.0, 95.0], index=['001', '002', '003', '004', '005'])gender = pd.Series(['女', '男', '男', '女', '男'], index=['001', '002', '003', '004', '005'])height = pd.Series([165.0, 170.0, 175.0, 168.0, 178.0], index=['001', '002', '003', '004', '005'])- 注意:写代码时留意中英文标点;index列表对应各元素位置,如’001’对应第一个元素
- 组合成DataFrame:
students = pd.DataFrame({ 'name': name, 'age': age, 'score': score, 'gender': gender, 'height': height})- 各列直接用Series名作为键- 打印DataFrame:
students显示完整表格
height Series创建
Section titled “height Series创建”- 浮点数元素:
[172.5, 168.0, 178.2, 181.3, 180.0](5个元素) - pd.Series自动类型:创建后变为浮点数
- 默认索引:无指定index,使用整数0-4
- 对比其他Series:name/gender/score有6元素(index 001-006),height仅5元素,标签001到005(非006)
height = pd.Series([172.5, 168.0, 178.2, 181.3, 180.0])students DataFrame创建练习(考试成绩版)
Section titled “students DataFrame创建练习(考试成绩版)”- 任务:创建名为students的DataFrame
- 索引:学号(‘001’, ‘002’, …, ‘006’)
- 列:姓名、考试一、考试二、考试三
- 输出完整DataFrame
| 学号 | 姓名 | 考试一 | 考试二 | 考试三 |
|---|---|---|---|---|
| ‘001’ | ‘小明’ | ‘95’ | ‘92’ | ‘94’ |
| ‘002’ | ‘小红’ | ‘85’ | ‘92’ | ‘93’ |
| ‘003’ | ‘小王’ | ‘79’ | ‘88’ | ‘85’ |
| ‘004’ | ‘小李’ | ‘91’ | ‘79’ | ‘89’ |
| ‘005’ | ‘小张’ | ‘96’ | ‘91’ | ‘91’ |
| ‘006’ | ‘小刘’ | ‘90’ | ‘91’ | ‘90’ |
average DataFrame任务
Section titled “average DataFrame任务”- 任务:创建名为average的DataFrame
- 索引:学号
- 列:‘姓名’、‘平均分’(三次考试平均值)
数据分析准备:Jupyter Notebook
Section titled “数据分析准备:Jupyter Notebook”- 工欲善其事,必先利其器:安装Jupyter Notebook
- 基于网页的交互式计算环境
- 用途:编写/运行代码、查看输出、可视化数据、分享文档
- 流行领域:数据分析、数据科学、机器学习
import pandas as pd
# df = pd.DataFrame(...)Jupyter Notebook优势
Section titled “Jupyter Notebook优势”- 日常Python学习:用代码编辑器(如PyCharm或VSCode)编写**.py**文件
- 运行时Python解释器从头到尾执行全部代码
- 数据/算法分析场景:更喜欢Jupyter Notebook
- 核心优势:按单元格单独运行代码
- 编辑器运行:每次从开头执行全部,数据量大时读取/清洗数据需几秒
- Notebook:修改分析公式时,只运行当前单元格
- 未改动的前置步骤(如读取大文件)无需重复执行,节省等待时间
- 核心优势:按单元格单独运行代码
# 示例:数据分析流程
# In [1]: import pandas as pddf = pd.read_csv("e_commerce.csv") # 耗时步骤,只跑一次
# In [2]: 修改分析公式,只运行此单元格print(df.groupby("region")["revenue"].mean())Jupyter Notebook优势
Section titled “Jupyter Notebook优势”- 单元格独立运行:不同步骤(如读取数据、分析)放在不同单元格
- 只运行一次读取数据,修改分析代码时无需重复读取
- 丰富展示格式:支持Markdown标记语言
- 标题:
# 一级标题、## 二级标题 - 列表:
- 第一点 - 加粗:
**粗体**、斜体:*斜体* - 行内代码:``
代码`` - 代码块:
- 标题:
import math print(math.pi)- LaTeX公式:插入数学公式和矩阵
f(x) = \int_{a}^{b} \left( \sum_{i=1}^{n} \frac{x^{i}}{i!} \right) dx\int_{0}^{2\pi} \cos(x) dx = \left[ \sin(x) \right]_{0}^{2\pi} = 0\begin{bmatrix} a & b \\ c & d \end{bmatrix}import pandas as pddf = pd.read_csv('e_commerce.csv')print(df.head(10))df = df.dropna(subset=['Customer ID'])print(df.groupby('Region')['Revenue'].mean())df.to_csv('e_commerce_cleaned.csv', index=False)- 实际应用:数据读取、清洗、分析、分组统计、保存文件
Jupyter Notebook分享与交互优势
Section titled “Jupyter Notebook分享与交互优势”- 分享丰富格式:以HTML等格式分享时,Markdown和LaTeX效果原封不动展示
- 帮助他人理解思考和分析过程,节省解答疑问时间
- 交互式运行环境:无需print语句即可查看变量值和中间结果
- 对比命令行模式:直接显示输出,便于快速探索数据、尝试分析方法
In [2]: 365 * 5Out[2]: 1825
In [3]: 'hi' + 'i'Out[3]: 'hii'Jupyter Notebook安装(Windows)
Section titled “Jupyter Notebook安装(Windows)”- 步骤:打开CMD命令提示符
- 安装过程简单直接
Jupyter Notebook安装(MacOS)
Section titled “Jupyter Notebook安装(MacOS)”- 打开终端:点击顶部放大镜图标,输入终端或terminal回车进入黑窗口
- 安装命令:
pip3 install notebook,回车开始安装 - 验证安装:输入
jupyter notebook启动,浏览器自动打开界面即成功 - 关闭Jupyter:关闭浏览器窗口不够,还需终止后台服务器
Jupyter Notebook安装(macOS版)
Section titled “Jupyter Notebook安装(macOS版)”- 安装命令:
pip3 install notebook- 回车执行安装- 启动命令:
jupyter notebook- 安装完成后输入,回车启动- 安装输出:显示依赖包列表,最后“Successfully installed notebook-6.5.4”
- pip更新提示:
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3 -m pip install --upgrade pip
- pip更新提示:
Jupyter Notebook 启动与关闭 (Windows/MacOS) 步骤
Section titled “Jupyter Notebook 启动与关闭 (Windows/MacOS) 步骤”-
启动:输入
jupyter notebook命令- 验证:浏览器自动打开Jupyter Notebook界面
-
关闭:
-
关闭浏览器窗口
-
在CMD或终端窗口按 Ctrl+C 终止后台服务器
- 确认关闭提示,输入
y回车
- 确认关闭提示,输入
-
-
MacOS/Linux:需按
y和回车二次确认 -
Windows:按一次 Ctrl+C 即可终止
Jupyter Notebook 启动验证
Section titled “Jupyter Notebook 启动验证”- 安装完成后验证:输入启动命令
jupyter notebook,回车执行 - 成功标志:浏览器自动打开 Jupyter Notebook 界面
- 看到界面即说明安装成功
Jupyter Notebook 终端输出细节
Section titled “Jupyter Notebook 终端输出细节”- 启动成功标志:显示本地地址
http://localhost:8888/?token=f83374a573d57f3353d53c57d353d53c4d4d4d42 or http://127.0.0.1:8888/tree?token=f83374a573d57f3353d53c57d353d53c4d4d4d42- 内核启动日志:
[C 00:00:00.442] Kernel started: 209fac-2f4b-40fd-d65c-c337d [I 17:49:52.242] NotebookApp: Serving notebooks from local directory: /Users/lexinlin- 关闭日志:
Shutdown this notebook server (Ctrl+C)? y [I 17:49:55.570] NotebookApp: Shutting down 1 kernel [I 17:49:55.570] NotebookApp: Kernel shutdown. 209fac-2f4b-40fd-d65c-c337d- pip更新提醒:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/jupyter_notebook-6.5.4.dist-info/METADATA install --upgradeJupyter Notebook使用
Section titled “Jupyter Notebook使用”- 数据分析核心工具:Jupyter Notebook贯穿数据分析全流程
- 本视频学习内容:Jupyter Notebook的使用方法
- 第一步:启动Jupyter Notebook
- Windows系统:在菜单栏操作
Jupyter Notebook 启动步骤
Section titled “Jupyter Notebook 启动步骤”- Windows:搜索框输入CMD,点击命令提示符打开黑窗口
- macOS:顶部菜单栏放大镜图标,输入终端或terminal,回车打开黑窗口
- 启动命令:在命令提示符或终端输入
jupyter notebook- 按回车,默认浏览器自动打开**Notebook主界面**- 显示当前目录下所有文件和文件夹- 浏览器意外关闭恢复:终端显示
The Jupyter Notebook is running at:http://localhost:8888/?token=...- 复制URL到浏览器重新打开- 重要提醒:不要关闭输入启动命令的CMD或终端窗口
- 否则Jupyter Notebook服务会被终止
Jupyter Notebook 主界面导航与创建Notebook
Section titled “Jupyter Notebook 主界面导航与创建Notebook”主界面文件浏览
Section titled “主界面文件浏览”- 显示当前目录所有文件和文件夹
- 点击文件夹进入子目录(如Desktop)
创建Notebook步骤
Section titled “创建Notebook步骤”- 进入目标文件夹(如桌面)
- 点击 New → Notebook → Python 3
- 自动打开新编辑界面
- 目录中出现新文件(如Untitled.ipynb 或 Demo.ipynb)
- 在编辑界面或目录列表中重命名新建文件
Jupyter Notebook 启动终端输出细节
Section titled “Jupyter Notebook 启动终端输出细节”- 浏览器访问URL:
http://localhost:8888/?token=6f5f65f797cca2ca2a3f7f9e3a36fedffc35d27df808598d or http://127.0.0.1:8888/?token=6f5f65f797cca2ca2a3f7f9e3a36fedffc35d27df808598d- 自动打开文件:
/Users/alinlin/Library/Jupyter/runtime/nbserver-15256-open.html - 服务目录:Serving notebooks from
/Users/alinlin - 主界面文件示例:
Applications、bin、Desktop、Documents、Downloads、awx1-20200905.pem(1.89 KB)
Notebook编辑界面结构
Section titled “Notebook编辑界面结构”- 重命名文件:点击标题(如Untitled),输入新名称(如Demo),点击重命名
- 界面布局(标题下方):
- 菜单栏:File、Edit、View、Insert、Cell、Kernel、Widgets、Help
- 工具条:菜单栏中最常用操作的快捷按钮
- 单元格:代码输入和执行区域
标题 → 菜单栏 → 工具条 → 单元格Jupyter Notebook 编辑器界面组件
Section titled “Jupyter Notebook 编辑器界面组件”- 工具条:菜单栏中最常用操作的快捷方式,大部分时候通过工具条与单元格交互
- 单元格:主要用来写Python代码和文字
单元格模式与操作演示
Section titled “单元格模式与操作演示”- 演示简单代码:
print('hello world')- 编辑模式:
- 点击单元格内部,外框变绿色,底色为白色
- 新版本特点:编辑模式底色白,命令模式底色灰
- 命令模式:
- 输入完成后按 ESC键 或点击其他地方切换
重命名笔记本文件
Section titled “重命名笔记本文件”- 点击标题标签 [Untitled] [重命名],输入新名称
Jupyter Notebook 单元格模式详解
Section titled “Jupyter Notebook 单元格模式详解”- 编辑模式:点击单元格内部
- 外框变绿色,底色白色
- 用于输入和编辑代码/文字
- 命令模式:按 ESC键 或点击其他地方切换
- 外框变蓝色,底色灰色
- 用于单元格整体操作
工具条常用按钮功能
Section titled “工具条常用按钮功能”- 第一个按钮:保存文件内容
- 第二个加号按钮:在当前选中单元格下方新建单元格
- 接下来三个按钮: - 剪切选中的单元格 - 复制选中的单元格 - 粘贴单元格
工具条单元格移动与运行功能
Section titled “工具条单元格移动与运行功能”- Shift键多选:按住Shift键选择多个单元格,然后统一操作
- 移动单元格顺序:
- 上箭头:当前选中单元格往上移动一格
- 下箭头:当前选中单元格往下移动一格
- 运行按钮:执行当前单元格所有Python代码
- 执行中:左边方括号显示星号(
*) - 执行完毕:方括号变成数字,表示执行顺序
- 第一个单元格运行后显示
1 - 下一个显示
2
- 第一个单元格运行后显示
- 执行中:左边方括号显示星号(
- 灵活执行:可以任意顺序运行单元格
In [*]: # 运行中In [1]: # 执行完毕,顺序1In [2]: # 执行完毕,顺序2单元格独立运行与执行顺序
Section titled “单元格独立运行与执行顺序”- 独立运行优势:可以运行第三格后回到第一格再执行,或多次重复运行同一个单元格
- 旁边的数字(如 [1]、[2])记录和告知执行顺序
- 顺序关键性:分别在第二格写读取文件、第三格写查看数据
- 修改读取文件后,若第二格数字 > 第三格数字,则第三格输出仍是之前数据
- 解决:重新运行第三格更新结果
- 建议:顺序重要时,把所有代码单元格都运行一遍
# 示例:多次运行相同代码In [1]: print("hello world")hello world
In [2]: print("hello world")hello world
# 数据读取示例In [1]: import pandas as pdIn [2]: df = pd.read_csv('./DataAnalysisNotebook/e_commerce.csv')In [3]: df.head()df.head() 输出示例(e_commerce.csv 前5行):
| InvoiceNo | StockCode | Description | Quantity | InvoiceDate | UnitPrice | CustomerID | Country | |
|---|---|---|---|---|---|---|---|---|
| 0 | 536365 | 850366 | WHITE HANGING HEART LANTERN | 64 | 1/1/2011 8:26 | 6.95 | 17850 | United Kingdom |