Python网络爬虫与文本数据分析(视频课)
之前分享过pandas也是可以作图的,今天复习一下pandas作图,并与seaborn做对比,熟悉下各自绘图的特点。
导入用到的库
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.style.use('fivethirtyeight')
plt.style.use('bmh')
读取数据
business = pd.read_csv('data/business.csv')
business.head()
评分分布
查看用户对yelp平台内店家评价的分布情况。使用pandas绘图
colors = sns.color_palette()
#stars是series数据类型
stars = business['stars'].value_counts().sort_index()
stars.plot(kind='bar',
figsize=(10, 5),
color=colors[:9],
rot=0,
title='Distribution of rating')
也可以用seaborn作图,代码如下
plt.figure(figsize=(10,5))
sns.countplot(business['stars'])
plt.title('Distribution of rating')
我们发现大多数用户店家评分都是4分及以上
最常见的店名和坐标
我们看看店铺的最常见的店名、最常见的坐标。使用pandas绘图
fig, ax = plt.subplots(1, 2, figsize=(14, 8))
business['name'].value_counts()[:20].plot(kind='barh',
ax=ax[0],
color=colors[:20],
title='Top 20 name of store in Yelp')
business['city'].value_counts()[:20].plot(kind='barh',
ax=ax[1],
color=colors[:20],
title='Top 20 of city in Yelp')
f,ax = plt.subplots(1,2, figsize=(14,8))
cnt = business['name'].value_counts()[:20].to_frame()
sns.barplot(cnt['name'], cnt.index, palette = 'RdBu', ax = ax[0])
ax[0].set_xlabel('')
ax[0].set_title('Top 20 name of store in Yelp')
cnt = business['city'].value_counts()[:20].to_frame()
sns.barplot(cnt['city'], cnt.index, palette = 'rainbow', ax =ax[1])
ax[1].set_xlabel('')
ax[1].set_title('Top 20 of city in Yelp')
plt.subplots_adjust(wspace=0.3)
从上面两个例子看,pandas和seaborn绘图各有千秋,有时候pandas简洁,有时候seaborn简洁。
-END-
假期无法出门不如在家学习
世界正在奖励坚持学习的人!