Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
data8-textbook-zh
提交
6ab863ff
D
data8-textbook-zh
项目概览
OpenDocCN
/
data8-textbook-zh
9 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
data8-textbook-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6ab863ff
编写于
11月 14, 2017
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ch6.
上级
d6663c18
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
92 addition
and
0 deletion
+92
-0
6.md
6.md
+92
-0
未找到文件。
6.md
浏览文件 @
6ab863ff
...
...
@@ -256,3 +256,95 @@ icecream.sort('Number of Cartons', descending=True).barh('Flavor')
## 组合分类数据
为了构造
`icecream`
表,有人不得不查看 30 个冰淇淋盒子,并计算每种口味的数量。 但是,如果我们的数据还没有包含频率,我们必须在绘制条形图之前计算频率。 这是一个例子,其中它是必要的。
`top`
表由美国历史上最畅销的电影组成。 第一列包含电影的标题;《星球大战:原力觉醒》(Star Wars: The Force Awakens)排名第一,美国票房总额超过 9 亿美元。 第二列包含制作电影的工作室的名称。 第三列包含国内票房收入(美元),第四列包含按 2016 年价格计算的,票面总收入。 第五列包含电影的发行年份。
列表中有 200 部电影。 根据未调整的总收入,这是前十名。
```
py
top
=
Table
.
read_table
(
'top_movies.csv'
)
top
```
| Title | Studio | Gross | Gross (Adjusted) | Year |
| --- | --- | --- | --- | --- |
| Star Wars: The Force Awakens | Buena Vista (Disney) | 906723418 | 906723400 | 2015 |
| Avatar | Fox | 760507625 | 846120800 | 2009 |
| Titanic | Paramount | 658672302 | 1178627900 | 1997 |
| Jurassic World | Universal | 652270625 | 687728000 | 2015 |
| Marvel's The Avengers | Buena Vista (Disney) | 623357910 | 668866600 | 2012 |
| The Dark Knight | Warner Bros. | 534858444 | 647761600 | 2008 |
| Star Wars: Episode I - The Phantom Menace | Fox | 474544677 | 785715000 | 1999 |
| Star Wars | Fox | 460998007 | 1549640500 | 1977 |
| Avengers: Age of Ultron | Buena Vista (Disney) | 459005868 | 465684200 | 2015 |
| The Dark Knight Rises | Warner Bros. | 448139099 | 500961700 | 2012 |
(省略了 190 行)
迪斯尼的子公司布埃纳维斯塔(Buena Vista)就像福克斯(Fox)和华纳兄弟(Warner Brothers)一样,经常出现在前十名中 如果我们从 200 行中看,哪个工作室最常出现?
为了解决这个问题,首先要注意的是,我们需要的只是一个拥有电影和工作室的表格;其他信息是不必要的。
```
py
movies_and_studios
=
top
.
select
(
'Title'
,
'Studio'
)
```
`Table`
的
`group`
方法组允许我们,通过将每个工作室当做一个类别,并将每一行分配给一个类别,来计算每个工作室出现在表中的频率。
`group`
方法将包含类别的列标签作为其参数,并返回每个类别中行数量的表格。 数量列始终称为
`count`
,但如果您希望的话,则可以使用
`relabeled`
更改该列。
```
py
movies_and_studios
.
group
(
'Studio'
)
```
| Studio | count |
| --- | --- |
| AVCO | 1 |
| Buena Vista (Disney) | 29 |
| Columbia | 10 |
| Disney | 11 |
| Dreamworks | 3 |
| Fox | 26 |
| IFC | 1 |
| Lionsgate | 3 |
| MGM | 7 |
| MPC | 1 |
(省略了 14 行)
因此,
`group`
创建一个分布表,显示电影在类别(工作室)之间如何分布。
现在我们可以使用这个表格,以及我们上面获得的图形技能来绘制条形图,显示前 200 个最高收入的电影中,哪个工作室是最常见的。
```
py
studio_distribution
=
movies_and_studios
.
group
(
'Studio'
)
studio_distribution
.
sort
(
'count'
,
descending
=
True
).
barh
(
'Studio'
)
```
华纳兄弟(Warner Brothers)和布埃纳维斯塔(Buena Vista)是前 200 电影中最常见的工作室。 华纳兄弟制作了哈利波特电影,布埃纳维斯塔制作了星球大战。
由于总收入以未经调整的美元来衡量,所以最近几年的顶级电影比过去几十年更频繁,这并不令人惊讶。 以绝对数量来看,现在的电影票价比以前更高,因此总收入也更高。 这是通过条形图证明的,这些条形图显示了 200 部电影的发行年份。
```
py
movies_and_years
=
top
.
select
(
'Title'
,
'Year'
)
movies_and_years
.
group
(
'Year'
).
sort
(
'count'
,
descending
=
True
).
barh
(
'Year'
)
```
所有最长的条形都对应 2000 年以后的年份。这与我们的观察一致,即最近几年应该是最频繁的。
### 面向数值变量
这张图有一些未解决的地方。 虽然它确实回答了这个问题,200 部最受欢迎的电影中,最常见的发行年份,但并没有按时间顺序列出所有年份。 它将年作为一个分类变量。
但是,年份是固定的时序单位,确实拥有顺序。 他们也有相对于彼此的固定的数值距离。 让我们看看当我们试图考虑它的时候会发生什么。
默认情况下,
`barh`
将类别(年)从最低到最高排序。 所以我们将运行这个代码,但不按
`count`
进行排序。
```
py
movies_and_years
.
group
(
'Year'
).
barh
(
'Year'
)
```
现在年份是升序了。 但是这个条形图还是有点问题。 1921 年和 1937 年的条形与 1937 年和 1939 年的条形相距甚远。条形图并没有显示出,200 部电影中没有一部是在 1922 年到 1936 年间发布的。基于这种可视化,这种不一致和遗漏,使早期年份的分布难以理解。
条形图用做类别变量的可视化。 当变量是数值,并且我们创建可视化时,必须考虑其值之间的数值关系。 这是下一节的主题。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录