第八章:绘图和可视化

说明:本文章为Python数据处理学习日志,记录内容为实现书本内容时遇到的错误以及一些与书本不一致的地方,一些简单操作则不再赘述。日志主要内容来自书本《利用Python进行数据分析》,Wes McKinney著,机械工业出版社。

这篇博文主要是为了补全python处理数据系列,所以写的比较简略,并没有太多代码,主要说明一下这一章可能会遇到的几个问题。

1、P242的三个绘图函数

Rectangle的三个参数分别为:左下顶点坐标,长,宽;
Circle的两个参数为:圆心,半径;
Polygon的三个参数为:三个顶点的坐标。
alpha为透明度。
绘出来的图看起来像椭圆,是因为xy轴比例不一样,调整窗口大小就可以看到确实是圆。

2、P249

tips = pd.read_csv('tips.csv')

party_counts = pd.crosstab(tips.day,tips.size)

party_counts
Out[13]: 
col_0  1708
day        
Fri      19
Sat      87
Sun      76
Thur     62

这个结果和书上的不一样,原因在于列名size

tips.day[:5]
Out[17]: 
0    Sun
1    Sun
2    Sun
3    Sun
4    Sun
Name: day, dtype: object

tips.size
Out[18]: 1708

size是tips的自带属性,于是其不能作为列名显示其内容,就会出现上述的结果。任意将size改成people_size或者其他名字均可(在csv直接改即可),就可得到书本上的结果。后续也要注意此处的名字有所修改。

 tips = pd.read_csv('tips.csv')

party_counts = pd.crosstab(tips.day,tips.people_size)

party_counts
Out[21]: 
people_size  1   2   3   4  5  6
day                             
Fri          1  16   1   1  0  0
Sat          2  53  18  13  1  0
Sun          0  39  15  18  3  1
Thur         1  48   4   5  1  3

3、P256三个函数

下面定义的三个函数是干什么的,我们举例说明。
先看data中的一条数据:

data[1:2]
Out[28]: 
   Serial                  INCIDENT TITLE     INCIDENT DATE LOCATION  \
1    4051  Food-Aid sent to Fondwa, Haiti  28/06/2010 23:06   fondwa   

                                         DESCRIPTION  \
1  Please help food-aid.org deliver more food to ...   

                                            CATEGORY   LATITUDE  LONGITUDE  \
1  1. Urgences | Emergency, 2. Urgences logistiqu...  50.226029   5.729886   

  APPROVED VERIFIED  
1       NO       NO  

data[1:2].CATEGORY
Out[29]: 
1    1. Urgences | Emergency, 2. Urgences logistiqu...
Name: CATEGORY, dtype: object

在csv中查看该条数据的CATEGORY为:

'''|前是非英文名,之后是英文名'''
1. Urgences | Emergency, 2. Urgences logistiques | Vital Lines,

首先,第一个函数是将每条CATEGORY根据“,”分割,并存入数组返回。
上面一条记录分割后的结果为:

['1. Urgences | Emergency', 
 '2. Urgences logistiques | Vital Lines']

第二个函数接受第一个函数的结果,将所有结果剔除相同的,得到一个不重复的CATEGORY集合,目的是为了得到所有出现在表格中的分类。

第三个函数是为了得到分类的英语名,上述记录会被分割为:

['1', 'Emergency']
['2', 'Vital Lines']
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值