問題:
データ:https://dl.dropboxusercontent.com/s/v9gmgxupkypn5dw/train-data.csv
1.Copy the car dataset into a new dataset. Work on the new dataset.
1.車のデータセットを新しいデータセットにコピーします。新しいデータセットで作業します。
2.Remove all the rows where the Fuel_type is not Diesel or Petrol.
2.Fuel_typeがDieselまたはPetrolではないすべての行を削除します。
3.Remove unit from the Mileage and Engine and convert their dtype to numeric.
3.マイレージとエンジンから単位を削除し、それらのdtypeを数値に変換します。
4.Create a new column called Engine_size and fill it with 0-500 CC, 500-1000 CC,...,5500-6000 CC depending on the value in the Engine column.
Engine_sizeという名前の新しい列を作成し、Engine列の値に応じて、0〜500 CC、500〜1000 CC、...、5500〜6000CCを入力します。
5.Create bar plots for Mileage, grouping by Year and Engine_size.
YearとEngine_sizeでグループ化して、マイレージの棒グラフ(bar)を作成します。
6.Set x=Year, y=Mileage, facet by Engine_size with col_wrap=4. Make sure the labels of the x-axis does not overlap.
x = Year、y = Mileage、facetをEngine_sizeでcol_wrap = 4に設定します。 x軸のラベルが重なっていないことを確認してください。
自分のCode:
#回答1
df = pd.read_csv('car_train_data.csv', sep= ",")
df = car_df.copy()
#回答2
print(df[~(df['FuelType'].isin(['Diesel','Petrol']))])
#回答3
df.dropna(subset=["Engine", "Mileage"], inplace=True)
df["Engine"] = df["Engine"].str.replace(" CC", "")
df["Mileage"] = df["Mileage"].str.replace(" kmpl", "")
df["Mileage"] = df["Mileage"].str.replace(" km/kg", "")
df = df.astype({"Engine": int, "Mileage": float})
print(df)
#回答4 チェックしてください
df['Engine_size']= df["Engine"]
#回答5 チェックしてください
group = df.groupby(["Year", "Engine_size"], as_index=False)["Mileage"].agg('mean')
fig = sns.factorplot(data=group, col="Year", col_wrap=4, x="Year", y="Mileage", kind="bar")
plt.show()
不明な点:
コードは機能しますが、質問4では、その「cc」を追加する方法がわかりません。
質問5では、私のbar plotはあまり良くないようです。
助けてください。ありがとうございました。