17
loading...
This website collects cookies to deliver better user experience
pip install pandas matplotlib squarify seaborn
import pandas as pd
cars = pd.read_csv('./germany-cars-zenrows.csv')
cars.sample(frac=1).head(n=20)
cars.gear.unique()
# ['Manual' 'Automatic' 'Semi-automatic']
cars.offerType.unique()
# ['Used' 'Demonstration' "Employee's car" 'Pre-registered' 'New']
cars.describe(percentiles=[.01, .25, .5, .75, .99]).apply(
lambda s: s.apply('{0:.2f}'.format))
makes = pd.DataFrame(cars.make.value_counts())
makes.reset_index(level=0, inplace=True)
makes = makes.sort_values(by='make', ascending=False).head(20)
makes.columns = ('make', 'size')
group = cars.groupby(cars.make)
mean_price = pd.DataFrame(group.price.mean())
mean_price.reset_index(level=0, inplace=True)
makes = pd.merge(makes, mean_price, how='left', on='make')
import matplotlib.pyplot as plt
import squarify
labels = ["%s\n%d items\nMean price: %d€" % (label) for label in
zip(makes['make'], makes['size'], makes['price'])]
squarify.plot(sizes=makes['size'], label=labels, alpha=.8,
color=plt.cm.tab20c.colors, edgecolor="white", linewidth=2)
plt.axis('off')
plt.show()
cars['fuel'] = cars['fuel'].replace(
['Electric/Gasoline', 'Electric/Diesel', 'Electric'],
'Electric')
cars['fuel'] = cars['fuel'].replace(
['CNG', 'LPG', 'Others', '-/- (Fuel)', 'Ethanol', 'Hydrogen'],
'Others')
fuels = pd.DataFrame(cars['fuel'].value_counts())
group = cars.groupby(cars['fuel'])
mean_price = pd.DataFrame(group.price.mean())
mean_price.reset_index(level=0, inplace=True)
fuels.reset_index(level=0, inplace=True)
fuels.columns = ('fuel', 'size')
fuels = pd.merge(fuels, mean_price, how='left', on='fuel')
labels = ["%s\n%d items\nMean price: %d€" % (label) for label in
zip(fuels['fuel'], fuels['size'], fuels['price'])]
fig1, ax1 = plt.subplots()
ax1.pie(fuels['size'], labels=labels,
autopct='%1.1f%%', startangle=15, colors=plt.cm.Set1.colors)
ax1.axis('equal')
plt.show()
import seaborn as sns
sns.countplot(x="year", hue="fuel", data=cars)
plt.show()