質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

449閲覧

Pandas matplotlib:新しい列を作成し、列の値に応じて、マイレージの棒グラフ(bar)を作成します。

sumorday

総合スコア1

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/05/20 06:16

問題:
データ: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()

bar plot

不明な点:

コードは機能しますが、質問4では、その「cc」を追加する方法がわかりません。
質問5では、私のbar plotはあまり良くないようです。

助けてください。ありがとうございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ppaul

2021/05/20 08:01

回答1、回答は実行するとエラーが起きます。 まず自分で実行して試してみてから、質問を更新してください。
guest

回答1

0

python

1labels =[ "{}~{}CC".format(i,i+500) for i in range(0,6001,500)] 2car_df['Engine_size']=pd.cut(car_df['Engine'], range(0,6501,500),labels=labels).astype(str)

pandas categoricalの例文を参考にしてください。

投稿2021/07/02 12:14

toshikawa

総合スコア388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問