基于pandas的双变量的作图
- Scatter plot –> df.plot.scatter()
- 擅长: 区间数据、一些无序的分类数据
- Hex plot –> df.plot.hex()
- 擅长: 区间数据、一些无序的分类数据
- Stacked Bar Chart –> df.plot.bar(stacked=True)
- 擅长: 有序和无序的分类数据
- Bivarite Line Char –> df.plot.line()
- 擅长: 有序的分类数据和区间数据
没有数据关系的数据是空白的无意义的。为了能画出以上的图形,我们需要理解两个变量之间是如何交互的。
是否同时增减,是否存在线性关系,为了更好的看出这些关系,我们最好从图形上来观察。
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
df_reviews = pd.read_csv('../dataSet/winemag-data_first150k.csv',index_col=0)
df_reviews.head(3)
country | description | designation | points | price | province | region_1 | region_2 | variety | winery | |
---|---|---|---|---|---|---|---|---|---|---|
0 | US | This tremendous 100% varietal wine hails from … | Martha’s Vineyard | 96 | 235.0 | California | Napa Valley | Napa | Cabernet Sauvignon | Heitz |
1 | Spain | Ripe aromas of fig, blackberry and cassis are … | Carodorum Selección Especial Reserva | 96 | 110.0 | Northern Spain | Toro | NaN | Tinta de Toro | Bodega Carmen Rodríguez |
2 | US | Mac Watson honors the memory of a wine once ma… | Special Selected Late Harvest | 96 | 90.0 | California | Knights Valley | Sonoma | Sauvignon Blanc | Macauley |
Scatter plot
散点图是最简单的表示两个变量的图形。散点图能够很好的将两个变量的关系映射到二维空间上。
df_reviews[df_reviews['price'] < 100].sample(100).plot.scatter(x='price', y='points')
<matplotlib.axes._subplots.AxesSubplot at 0x7ff833c17518>
为了能更好的表示出这个图片,我们使用抽样的方式,抽取出100个点进行散点图显示。这是因为散点图不能表示映射到同一个点的多个点,
例如有10个(100,80)的点,在图上只能显示一个点。如果我们不使用抽样,你看到的图中会全是点,基本看不出来模式。如下图显示:
df_reviews[df_reviews['price'