适用于编程小白的Python学习01:Pandas初探
什么是Python虚拟环境?
Python虚拟环境是一个独立的、隔离的Python运行环境,它允许你为每个项目安装独立的库和依赖项,而不会与系统中其他Python项目或全局Python环境发生冲突,从而有效地管理项目依赖、避免版本问题,并确保项目在不同机器上具有可复制性。

为什么要搭建Python虚拟环境?
1、管理项目依赖
Python生态系统拥有庞大的第三方库和框架,比如用于数据科学的Pandas、NumPy,用于Web开发的Django、Flask等。你的项目很可能需要依赖这些库。
隔离性: 不同的项目可能依赖同一个库的不同版本。例如,项目A需要requests库的1.0版本,而项目B需要requests库的2.0版本。如果没有独立的环境,直接全局安装,就会导致版本冲突,影响一个或两个项目的正常运行。搭建独立环境(如使用venv或conda)可以为每个项目创建独立的依赖沙箱,互不影响。
可复制性: 当你与团队成员协作或将项目部署到服务器时,需要确保所有人都使用相同的库版本。通过环境管理工具,你可以轻松地导出项目所需的依赖列表(例如requirements.txt文件),其他人可以根据这个列表快速搭建出一致的运行环境,确保代码在不同机器上都能正常运行。
2、避免全局污染
如果你将所有项目的依赖都安装到系统全局Python环境中,会导致全局环境变得臃肿和混乱。
冲突风险: 全局安装的库可能与系统自身依赖的Python库发生冲突,甚至可能影响操作系统的稳定性。
版本管理困难: 难以追踪哪些库是为哪个项目安装的,也无法轻易卸载某个项目的特定依赖,增加了管理难度。
3、使用不同的Python版本
有时候,不同的项目可能需要不同版本的Python解释器。例如,一个老项目可能只兼容Python 3.6,而一个新项目可能需要Python 3.9的新特性。
多版本共存: 环境管理工具允许你在同一台机器上安装并管理多个Python版本,并在不同项目之间轻松切换。
VS Code如何搭建Python虚拟环境



前言
各位编程小白们,大家好!踏上Python学习之旅的你,是否对海量数据感到一丝迷茫?面对表格中密密麻麻的数字和文字,是不是渴望能有一种工具,像魔术师一样,轻松驾驭它们,从中发现有价值的秘密?那么,恭喜你,你找对地方了!
我们将开启Pandas的学习之旅。Pandas是Python数据科学领域的一颗璀璨明星,它被称为“数据分析的瑞士军刀”。对于初学者来说,它可能听起来有些高深,但别担心,我们将用最通俗易懂的方式,带你一步步揭开它的神秘面纱。
想象一下,你有一大堆Excel表格、CSV文件,甚至是数据库里的数据,想要进行整理、清洗、分析和可视化。如果用传统的Python列表和字典来操作,那简直是噩梦。而Pandas的出现,就是为了解决这些痛点。它提供了高效、灵活的数据结构,让你能够像操作熟悉的电子表格一样处理数据,并且速度更快,功能更强大。
在本系列的第一篇中,我们将初步探索Pandas中最核心、最常用的数据结构——DataFrame。你会学会如何导入数据,快速查看数据概貌,了解数据的基本信息,并对数据进行简单的排序。这些都是你未来深入学习数据分析、机器学习甚至人工智能的基石。准备好了吗?让我们一起迈出数据分析的第一步,感受Pandas的魅力吧!

Pandas介绍
Pandas 是 Python 编程语言中一个强大且广泛使用的开源数据分析和操作工具库。它基于 NumPy 库构建,提供了高效的数据结构,使得处理结构化数据变得简单、快速且直观。可以把它想象成一个功能强大的电子表格软件,但拥有编程的灵活性和自动化能力。
项目实战
有一个表格如下所示:

1、加载数据
def load_data():
"""
加载CSV文件并返回DataFrame
"""
df = pd.read_csv('students.csv')
print("\n1. 数据加载结果:")
print(df.head())
return df
df.head() 是一个非常常用的方法,它被调用在一个 DataFrame 对象(通常命名为 df)上。它的主要目的是显示 DataFrame 的前几行数据。
效果:

2、查看数据基本信息
def basic_info(df):
"""
显示数据基本信息
"""
print("\n2. 数据基本信息:")
print("\n数据形状(行数,列数):")
print(df.shape)
print("\n数据类型信息:")
print(df.info())
print("\n数据统计描述:")
print(df.describe())
df.shape 是一个重要的属性。它的作用是返回 DataFrame 的维度(形状),也就是它的行数和列数。
df.info() 是一个有用的方法,它用于打印 DataFrame 的简洁摘要信息。
df.describe() 是一个强大的方法,它能快速生成 DataFrame 中数值型列的描述性统计信息。
效果:

3、数据选择
def select_data(df):
"""
数据选择操作示例
"""
print("\n3. 数据选择操作:")
print("\n选择单列 'name':")
print(df['name'])
print("\n选择多列 'name' 和 'score':")
print(df[['name', 'score']])
print("\n条件筛选:分数大于90的学生")
print(df[df['score'] > 90])
效果:

4、数据排序
def sort_data(df):
"""
数据排序操作
"""
print("\n4. 数据排序:")
print("\n按分数降序排序:")
print(df.sort_values('score', ascending=False))
print("\n按年龄升序、分数降序排序:")
print(df.sort_values(['age', 'score'], ascending=[True, False]))
df.sort_values() 是一个常用的方法,用于根据 DataFrame 中一个或多个列的值来对行进行排序。
效果:

5、分组统计
def group_data(df):
"""
分组统计操作
"""
print("\n5. 分组统计:")
print("\n按科目分组计算平均分:")
print(df.groupby('subject')['score'].mean())
print("\n按年级分组计算各科目平均分:")
print(df.groupby(['grade', 'subject'])['score'].mean())
df.groupby() 用于执行“分组聚合操作。
效果:

6、数据添加和修改操作
def add_modify_data(df):
"""
数据添加和修改操作
"""
print("\n6. 数据添加和修改:")
# 添加新列:及格状态
df['pass_status'] = df['score'].apply(lambda x: 'Pass' if x >= 60 else 'Fail')
print("\n添加及格状态列后的数据:")
print(df)
效果:

7、数据可视化
def data_visualization(df):
"""
基础数据可视化
"""
print("\n7. 数据可视化:")
# 创建科目平均分数的柱状图
plt.figure(figsize=(10, 6))
df.groupby('subject')['score'].mean().plot(kind='bar')
plt.title('Average Score by Subject')
plt.xlabel('Subject')
plt.ylabel('Average Score')
plt.tight_layout()
plt.savefig('subject_scores.png')
plt.close()
print("已生成科目平均分数柱状图:subject_scores.png")
df.groupby('subject'):这是 groupby 操作的第一步。它告诉 Pandas,根据 DataFrame 中 'subject'(科目)列的唯一值来将数据进行分组。
['score'].mean():它会计算每个 'subject' 组中所有 'score' 值的平均值。
.plot(kind='bar'):.plot()这是 Pandas 提供的一个便捷绘图接口,它底层使用了 Matplotlib 库。kind='bar' 表示生成一个**条形图 **。
效果:

适用于编程小白的Python学习01:Pandas初探的更多相关文章
- “编程小白学python”阅读笔记
今天在豆瓣搜索“python”关键字,搜到一本知乎周刊,读来觉得不错 编程小白学python ,作者@萧井陌, @Badger 书中提到的很多书,第一次看惊呆了,记录下来,希望每周回看此博文,坚持学习 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python学习01 Hello World
Python学习之Hello World 准备工作 去官网http://www.python.org/ 下载python的安装包: http://www.python.org/download/ 当前 ...
- python学习-01
1.编程语言分类: 编译型:(由编译器将代码编译成计算机识别的二进制文件)C \C++ \C# 运行速度较解释型语言快 解释型:(在运行时进行编译)python.php.sheel.ruby.j ...
- python学习01
1.python怎样运行? 1)打开运行窗口,输入python 2)打开运行窗口,直接输入 python + python代码 `python -c "print(1/6.878)&quo ...
- Python3之turtle的基本用法#Python学习01#
一.turtle基本语法 1.导入turtle 模块import turtle 2.显示箭头turtle.showturtle() 3.写字符串turtle.write("因小米" ...
- python学习 01 变量
1.变量不是‘盒子’. 1.1 不同的值,变量名没变, 变量地址也会变. 1.2 相同的值,不同的变量名,变量地址是相同的
- Python学习之正则表达式初探
正则表达式 正则表达式 (或 regexes ) 是通用的文本模式匹配的方法. Django URLconfs 允许你 使用任意的正则表达式来做强有力的URL映射,不过通常你实际上可能只需要使用很少的 ...
- 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...
- 小白学 Python 数据分析(7):Pandas (六)数据导入
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- 05 过拟合(over-fitting)与正则化(regularization)
1. 什么是Overfitting 我们希望神经网络模型能够找到数据集中的一般规律,从而帮助我们预测未知数据.这个过程是通过不断地迭代优化损失函数(也就是预测值和实际值的误差)而实现的.然而随着误差进 ...
- Pydantic字段级校验:解锁@validator的12种应用
title: Pydantic字段级校验:解锁@validator的12种应用 date: 2025/3/23 updated: 2025/3/23 author: cmdragon excerpt: ...
- Delphi 多线程使用
1. 定义线程类 type TMyThread = class(TThread) private { Private declarations } fPos:Integer; // 变量 protec ...
- 什么是MIME类型-基础知识补全
MIME类型(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)是一种标准,用于标识互联网上传输的文件类型.它最初是为电子邮件设计的,后来被广泛应用于W ...
- MySQL隐藏手机号
1.实现方法 通过MySQL的left.right.contact函数实现 2.语法说明 contact()函数 作用:将多个字符串连接成一个字符串 语法:concat(字符串1,....,字符串n) ...
- jmeter:结合while控制器实现性能测试
一.场景 1.导入时,导入操作的用户数比较少,但是单次导入的数据量较大 2.导入文件一共有三步操作,上传-验证-导入,执行完当前操作才可以执行下一步操作. 2.导入时,即使导入数据量较大,导入操作需要 ...
- app类型划分
app类型分为native类型,web类型,hybrid类型 一.native类型 1.优点:直接依托于操作系统,交互性最强,性能最好,功能最为强大 2.缺点:开发成本高,无法跨平台,更新缓慢,审核周 ...
- FastAPI数据库连接池配置与监控
title: FastAPI数据库连接池配置与监控 date: 2025/04/28 00:13:02 updated: 2025/04/28 00:13:02 author: cmdragon ex ...
- Java中的位运算符、移位运算符
目录 1 概述 2 位运算符 2.1 $(与) 2.2 |(或) 2.3 ^(异或) 2.4 ~(非) 3 移位运算 3.1 左移运算符:<< 3.2 右移运算符:>> 3.3 ...
- 【笔记】Python3|(一)Python 申请并调用国内百度、阿里、腾讯、有道的翻译 API 的教程和测试情况(第三方库 translate 和 腾讯 API 篇)
var code = "dccf4c95-7458-4b38-b8ae-d45b3e59c218" 价格和 API 申请参考: 免费翻译接口最新最全汇总(百度翻译,腾讯翻译,谷歌翻 ...