python - Pandas:使用 groupie 的平行图

标签 python pandas dataframe pandas-groupby

我想知道是否有人可以帮助我进行平行坐标绘图。

首先,数据如下:

Data它的数据来自: https://data.cityofnewyork.us/Transportation/2016-Yellow-Taxi-Trip-Data/k67s-dv2t

因此,我尝试标准化一些特征,并用它来计算一周中每一天的行程距离、乘客数量和付款金额的平均值。

from pandas.tools.plotting import parallel_coordinates

feature = ['trip_distance','passenger_count','payment_amount']

#normalizing data
for feature in features:
     df[feature] = (df[feature]-df[feature].min())/(df[feature].max()-df[feature].min())

#change format to datetime
pickup_time = pd.to_datetime(df['pickup_datetime'], format ='%d/%m/%y %H:%M')
#fill dayofweek column with 0~6 0:Monday and 6:Sunday
df['dayofweek'] = pickup_time.dt.weekday

mean_trip = df.groupby('dayofweek').trip_distance.mean()
mean_passanger = df.groupby('dayofweek').passenger_count.mean()
mean_payment = df.groupby('dayofweek').payment_amount.mean()

#parallel_coordinates('notsurewattoput')

所以如果我打印mean_trip:

enter image description here

它显示了一周中每一天的平均值,但我不确定如何使用它来绘制一个平行坐标图,所有 3 个平均值都在同一个图上。

有人知道如何实现吗?

最佳答案

我认为你可以将 3 次聚合平均值更改为输出 DataFrame 而不是 3 系列:

mean_trip = df.groupby('dayofweek').trip_distance.mean()
mean_passanger = df.groupby('dayofweek').passenger_count.mean()
mean_payment = df.groupby('dayofweek').payment_amount.mean()

至:

from pandas.tools.plotting import parallel_coordinates

cols = ['trip_distance','passenger_count','payment_amount']
df1 = df.groupby('dayofweek', as_index=False)[cols].mean()
#https://stackoverflow.com/a/45082022
parallel_coordinates(df1, class_column='dayofweek', cols=cols)

关于python - Pandas:使用 groupie 的平行图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532995/

相关文章:

Python — 检查字符串是否包含西里尔字符

python - 通过列表列表递归 "all paths"- Python

python - 如何从定界字符串中剥离值

python - Pandas 在 read_csv 中跳过行,我可以将这些记录到变量/日志文件中吗

python - 可以生成大型 Pandas 数据框 View 的 bool 索引?

python - 如何获得两个数据帧的条件值之和之间的差异?

python - 请求示例代码来了解返回值的协程中 throw() 的返回值

python - Pandas 根据其他列的条件进行分组求和

python - 包含 python 对象(例如列表)的 Deepcopy pandas DataFrame

python - 在 pandas 中创建一个分数列,其值取决于另一列的百分位数