파이썬 데이터 시각화 입문 3 - Pandas 연습문제

힘센캥거루
2023년 11월 11일(수정됨)
3
12

在上一篇文章中,我们讨论了如何使用名为 Pandas 的库来处理数据

今天,我们将通过一些练习问题来尝试使用 pandas 进行简单输出。

1. 数据来源

如今有许多公开的大数据。只要在谷歌上搜索“빅데이터”,就会出现很多网站。

其中,我将介绍公共数据门户和 kaggle。 

1) 公共数据门户

公共数据门户是一个网站,旨在让国民能够使用国家拥有的各种数据

提供海水温度、天气、地铁使用、人口密度等各种信息。

该网站的最大优点是专注于韩国资料

2) kaggle

kaggle 是一个数据分析科学社区,可以获取大量的大数据。

在这里可以获得最著名的数据之一是泰坦尼克号数据

包含泰坦尼克号乘客的姓名、地址、性别、客舱等级等各种资料。在初学数据可视化时,经常使用此资料。

3) 今天我们将使用的资料是...

今天我们将使用通过公共数据门户公开的我们国家各省的高温天数

可以在公共数据门户网站上搜索并下载。

原始资料是 csv 格式,因此已转换为 xlsx 文件

Pandas 也能处理csv 文件,但如果含有韩文数据则会出现错误。

因此,需要几行代码来阅读文件。

由于我们还处于初学阶段,尽量处理 xlsx 格式的数据。 

2. 问题

现在是时候解决问题了。按照下面的1~4题,输出数据并查看答案。

  1. 调用 hot_wave.xlsx 文件并存入变量 hot,仅输出最上面3行

  2. 仅输出 hot_wave.xlsx 数据中首尔和江陵的高温天数

  3. 根据大田的高温天数降序排列 hot_wave.xlsx 数据后,放弃现有索引重新指定索引

  4. 仅输出 hot_wave.xlsx 数据中高温测量年度在2015年之后的数据

파이썬 데이터 시각화 입문 3 - Pandas 연습문제-1

3. 解答

由于难度较低,解答不再进行单独说明。

如果不懂,请参考上一篇文章。不小心点击广告也会更好。

1) 第1题解答

import pandas as pd
hot = pd.read_excel("./hot_wave.xlsx")
hot.head(3)

2) 第2题解答

# 1. 使用 loc
hot.loc[:,["서울(일)", "강릉(일)"]]
# 2. 使用 iloc
hot.iloc[:,1:3]

# 以字典形式查询
hot[["서울(일)", "강릉(일)"]]

# 一同使用 columns
hot[hot.columns[1:3]]
파이썬 데이터 시각화 입문 3 - Pandas 연습문제-2

3) 第3题解答

# 每次重新指定变量时
sortedHot = hot.sort_values("대전(일)", ascending=False)
reIndexHot = sortedHot.reset_index(drop=True)
reIndexHot

# 使用 inplace 覆盖原变量
hot.sort_values("대전(일)", ascending=False, inplace=True)
hot.reset_index(drop=True, inplace=True)
hot
파이썬 데이터 시각화 입문 3 - Pandas 연습문제-3

4) 第4题解答

hot.loc[hot["연도별"] > 2015]

hot[hot["연도별"] > 2015]

hot[hot.연도별 > 2015]
파이썬 데이터 시각화 입문 3 - Pandas 연습문제-4

4. 文章总结

接下来的文章中,我们将了解Matplotlib 的基本用法

在熟悉一定程度的 matplotlib 功能后,再来学习用 Matplotlib 可视化通过 pandas 导入的数据

관련 글

学校事务自动化——利用 AI 检查学生综合素质评价(生记簿)科目别“细部能力及特长事项”
学校事务自动化——利用 AI 检查学生综合素质评价(生记簿)科目别“细部能力及特长事项”
如果要在学校工作里选出一项最无意义、最辛苦、最无聊的,我会选生记簿检查。在初中,学生综合素质评价(生活记录簿)并不那么重要,但在高中它与升学直接相关,因此极其重要。问题在于,这样的生记簿检查最终找的无非就是简单的错别字、禁止填写用语、拼写等。这篇文章就是从这样的疑问开始的。现在这种简单检查,是不是已...
从零构建中学习 LLM 第7章读书心得与挑战回顾
从零构建中学习 LLM 第7章读书心得与挑战回顾
第7章的内容是让模型遵循指令进行微调的过程。也就是让它针对某个问题给出我们期望的回答。果然,最需要的还是数据。1. 指令微调步骤这里的核心是准备好问答数据集,用作输入-输出对来进行训练。这就叫做提示(prompt)风格。其他部分就像之前的流程一样,对内容进行分词(tokenize)、训练和评估,过程...
从零开始构建中学习 LLM 第 6 章读后感
从零开始构建中学习 LLM 第 6 章读后感
第 6 章是为分类进行微调。作为例子给出的任务是构建垃圾邮件分类器。垃圾邮件分类器需要判断一封邮件是不是垃圾邮件,因此输出结果要是类似 0、1 这样的值。1. 微调的顺序微调的过程和训练模型的过程很相似。准备数据集,加载权重值,然后进行训练和评估。稍微不同的一点是,会有一个把输出层映射到 0(非垃圾...
从零开始构建中学习 LLM 第5章读书后记
从零开始构建中学习 LLM 第5章读书后记
今天是12月14日。其实挑战期已经过去整整两周了,但也不能因此就放弃写后记。像这样留下的 TIL(Today I Learned),以后都会变成自己的血和肉。这次打算比起代码本身,更专注在“意义”上来写一写。1. 模型的损失计算这一部分讲的是,在构建好 GPT 模型之后,用什么方式来计算损失。GPT...
从零开始动手实现 LLM 第4章读书心得
从零开始动手实现 LLM 第4章读书心得
今天是11月26日,如果每天读一章并看完的话,这次挑战就算成功。在老大和老二的各种干扰下,不知道能不能做到。1. Dummy Transformer在实现 GPT 模型的过程中,看到是从 PyTorch 里拿来一个 Transformer 的 dummy 模块用的。一查才发现,在 PyTorch 的...
通过从头构建学习的LLM第3章读后感
通过从头构建学习的LLM第3章读后感
我在MacBook上泼了一大杯水后,崩溃了,浪费了大约3-4天。现在回想起来,反正MacBook已经坏了,应该想着送修,干点别的事情。无论如何,虽然有点晚了,但我觉得必须坚持到底,所以留下了第3章的读后感。1. 注意力机制第3章...

댓글을 불러오는 중...