我想從我的 pandas Dataframe 創建多個圖,如下所示:dataset.head() trip_id duration distance avg_speed avg_acc travel_mode0 303633 1.0 42.74 0.00 70.46 foot1 303637 30.0 521.07 1.43 27.86 car2 303638 13.0 339.58 0.65 26.30 car3 303642 12.0 459.94 0.00 78.67 car4 303657 4.0 71.3 0.00 72.94 foot該列travel_mode包含 5 種不同的運輸方式:dataset.travel_mode.unique()array(['foot', 'car', 'bus', 'bike', 'metro'], dtype=object)我想繪制每種旅行模式的duration, distance, avg_speed分布avg_acc。col = ['duration', 'distance', 'avg_speed', 'avg_acc', 'travel_mode']dataset[col].groupby('travel_mode').hist(bins=50, figsize=(6, 4))在此處輸入圖像描述數字的顯示方式您無法分辨哪個數字是什么類型的交通工具。然后我嘗試按偏度分布。偏度分布:l = dataset.columns.valuesn_cols=4n_rows =5plt.figure(figsize=(3*n_cols,2*n_rows))for i in range(0,len(l)): plt.subplot(n_rows + 1,n_cols,i+1) sns.distplot(dataset[l[i]],kde=True)TypeError: unsupported operand type(s) for /: 'str' and 'int'如何顯示每種出行模式的標記分布,使出行模式成行,列顯示 和 的duration, distance, avg_speed,數字avg_acc?
2 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
這不是一個漂亮的代碼,但您可以識別組...標題是組名和列的串聯。
groups = dataset.groupby('travel_mode')
for group in groups:
label = group[0]
data = group[1]
data.columns = label + " - " + data.columns
data.hist(bins=50)

www說
TA貢獻1775條經驗 獲得超8個贊
這應該可以由您的travel_mode. 注意subplots=True.
dataset[col].groupby('travel_mode').plot(kind='hist', bins=50, subplots=True)
如果您想要覆蓋密度圖,我認為它適用于 seaborn:
df = dataset[col].melt(['travel_mode'], var_name='cols', value_name='vals')
g = sns.FacetGrid(df, col='cols', row="travel_mode")
g = (g.map(sns.distplot, "vals", kde=True, bins=50))
添加回答
舉報
0/150
提交
取消