【发布时间】:2020-02-11 06:01:23
【问题描述】:
我想从我的 pandas Dataframe 创建多个图,如下所示:
dataset.head()
trip_id duration distance avg_speed avg_acc travel_mode
0 303633 1.0 42.74 0.00 70.46 foot
1 303637 30.0 521.07 1.43 27.86 car
2 303638 13.0 339.58 0.65 26.30 car
3 303642 12.0 459.94 0.00 78.67 car
4 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.values
n_cols=4
n_rows =5
plt.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 的数字?
【问题讨论】:
-
您想在一个窗口中绘制所有直方图,还是每个出行模式一个窗口有效?
-
我想为每种出行模式绘制一个窗口。
-
检查下面的答案,我正在循环组并更改每个组数据框的列名以添加组名。如果这是您的想法,请告诉我。
标签: python pandas matplotlib