Pandas库DataFrame的简单应用2

练习题

DataFrame的简单应用

练习1

代码

import pandas as pd

# Exercise 1
# 读取 catNames2.csv 文件,完成需求如下:
cat_data_df = pd.read_csv("catNames2.csv")  # 用pandas库读取文件 数据文件和代码在同一个文件夹里面
# • 找到所有的使用次数超过800的猫的名字
counts = cat_data_df[cat_data_df["Count_AnimalName"] > 800]  # 利用布尔索引先找出大于800的数据
sorted_counts = counts.sort_values(by="Count_AnimalName", ascending=False)
print("所有的使用次数超过800的猫的名字:")
print(sorted_counts)  # 如果不想看到次数 可以输出sorted_counts["Row_Labels"]

# • 获取使用次数最高的名字
sorted_data = cat_data_df.sort_values(by="Count_AnimalName", ascending=False)  # 将数据按降序排列好
max_counts = sorted_data[:1]  # 利用索引取出第一行 因为是要获得使用次数最高的名字 即为排序后的数据的第一行
print("使用次数最高的名字:")
print(max_counts)

效果图

练习2

代码

import pandas as pd
 
# Exercise 2
# 读取 五粮液2020.xlsx 数据,指定 索引为0列 为 行索引
wly_data = pd.read_excel("五粮液2020.xlsx", index_col=0)  # 利用pandas库读取文件 数据文件和代码在同一个文件夹里面
# 查看 该数据的基本信息
print("数据的基本信息:")
print(wly_data.info())  # 利用info()
print()
# 计算每一天各指标的差异值
print("每一天各指标的差异值:")
print(wly_data.diff())  # 利用diff()
print()
# 计算其 pre_close 的增长率
print("pre_close 的增长率:")
print(wly_data["pre_close"].pct_change())  # 利用pct_change()
print()
# 将 pre_close 的增长率添加至 wly_data 数据中
print("将 pre_close 的增长率(命名为pct_change)添加至 wly_data 数据中")
wly_data["pct_change"] = wly_data["pre_close"].pct_change()  # DataFrame新增列
print(wly_data)
print()
# 将 pct_change 该列 呈现的 NaN 用0填充
wly_data["pct_change"].fillna(0, inplace=True)  # 选中pct_change这一列后 利用fillna()函数对数据进行操作,并且inplace=True对原数据操作
print()
# 查看 pre_close 与 pct_change 的相关性
print("pre_close 与 pct_change 的相关性:")
print(wly_data["pre_close"].corr(wly_data["pct_change"]))  # 利用corr()
print()
# 将 pct_change 这列乘以100 保留两位小数 成为百分比
print("修改后的pct_change为:")
func = lambda x: "%.2f%%" % (x * 100)  # 定义匿名函数func
wly_data["pct_change"] = wly_data["pct_change"].apply(func)  # 利用apply()对 pct_change 这一列进行修改
print(wly_data["pct_change"])

效果图

  1. 基本信息:

  2. 差异值:

  3. 增长率:

  4. 添加pct_change这一列

  5. 相关性:

  6. pct_change修改为百分数的形式

小结

  1. 对DataFrame的数据进行操作时,一定要区分是操作列还是行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么要学习这门课?】 本课程重点介绍了如何在 Python 和 Jupyter 笔记本中执行EDA。除此之外,也会将软件工程基础知识与课程内容做关联教学,并提供关于linting、测试、命令行工具、数据工程API等方面的关键性说明。【本门课程亮点】 超过8小时的视频课程展示了如何使用AWS和谷歌云平台来解决机器学习和人工智能中的本质问题。本课程涵盖了如何通过Jupyter笔记本开始使用Python,然后继续深入到Python数据科学中的各种具体细节,包括Pandas, Seaborn, scikit-learn和TensorFlow。【讲师介绍】  Noah Gift(诺亚·吉夫特)—— 亚马逊AWS机器学习专家、Google云架构专家Noah Gift拥有大约20年的Python编程经验,是Python Software Foundation的成员。亚马逊云服务AWS机器学习认证专家、AWS认证大数据专家、Google认证云架构专家,曾供职于ABC、索尼、迪士尼、AT&T等多家知名企业,担任CTO、总经理、首席数据科学家、首席云架构师等职位。同时,Noah Gift作为导师兼具丰富的教学、研究与行业经验。他在加州大学伯克利分校(UCB)信息学院数据科学硕士项目、加州大学戴维斯分校(UCD)管理研究生院商业分析硕士项目、以及西北大学数据科学硕士项目担任讲师,教授和设计机器学习、AI和数据科学等课程。【面向人群】 1、具有一定SQL经验的数据科学从业者2、希望在AWS和GCP上扩展基于云机器学习的数据科学从业者3、希望了解如何更深入实践数据科学原理的软件开发人员4、希望理解Python中的机器学习和人工智能,以有效管理技术团队的技术管理者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值