import numpy
import pandas
import matplotlib.pyplot as plt
import seaborn
%matplotlib inline
A partir du jeu de données Computers
présent dans le module pydataset
, vous devez répondre aux questions suivantes, avec bokeh
et seaborn
. Vous pourrez trouver des informations sur ce jeu de données en exécutant data("Computers", show_doc = True)
dans le notebook.
ordis = pandas.read_csv("Computers.csv")
ordis.head()
price
(histogramme, boîte à moustaches, ...)¶f, (p1, p2) = plt.subplots(2, sharex = True)
seaborn.distplot(ordis.price, ax = p1, color = "orange")
seaborn.boxplot(ordis.price, ax = p2, color = "orange")
price
et les variables¶speed
hd
ram
cd
premium
screen
f, p = plt.subplots(2, 3, sharey = True, figsize = (15, 5))
seaborn.boxplot("speed", "price", data = ordis, ax = p[0, 0])
seaborn.regplot("hd", "price", data = ordis, ax = p[0, 1])
seaborn.boxplot("ram", "price", data = ordis, ax = p[0, 2])
seaborn.boxplot("cd", "price", data = ordis, ax = p[1, 0])
seaborn.boxplot("premium", "price", data = ordis, ax = p[1, 1])
seaborn.boxplot("screen", "price", data = ordis, ax = p[1, 2])
price
l'impact de ces couples de variables¶speed
et hd
t = pandas.crosstab(pandas.cut(ordis.hd, 6, precision = 0), ordis.speed,
values = ordis.price, aggfunc = numpy.mean)
seaborn.heatmap(t, cmap = "Blues", cbar_kws = { 'label' : 'mean price' })
hd
et screen
seaborn.lmplot("hd", "price", data = ordis, hue = "screen",
col = "screen", size = 10)
speed
et premium
fig = plt.figure(figsize = (15, 5))
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
seaborn.pointplot("speed", "price", data = ordis, hue = "premium", ax = ax2)
seaborn.boxplot("speed", "price", data = ordis, hue = "premium", ax = ax1)
hd
et premium
seaborn.lmplot("hd", "price", data = ordis, hue = "premium",
col = "premium", col_wrap = 2)
ordis2 = ordis.assign(hd_cut = pandas.cut(ordis.hd, 6))
seaborn.factorplot("hd_cut", "price", data = ordis2, hue = "premium", kind = "box",
size = 10, aspect = 2)
price
en fonction d'autres variables, mais prenant en compte plus de trois variables¶# à vous de tester
anscombe
¶Représenter sur un même graphique (avec un découpage donc) les quatre séries des données anscombe
.
anscombe = pandas.read_csv("anscombe.csv")
anscombe
from functools import reduce
ans_bis = reduce(lambda a,b: pandas.concat([a, b]),
[pandas.DataFrame({"x": anscombe["x" + j],
"y": anscombe["y" + j],
"i": j})
for j in [str(i) for i in range(1, 5)]]).reset_index()
ans_bis.head()
seaborn
¶p = seaborn.FacetGrid(ans_bis, col = "i", col_wrap = 2)
p.set(xlim = (ans_bis.x.min() - 1, ans_bis.x.max() + 1))
p.map(seaborn.regplot, "x", "y", ci = False,
scatter_kws = {"color": "orange"}, line_kws = {"color": "steelblue"})