大熊猫非降序细胞的百分比变化

时间:2016-09-20 01:50:58

标签: python pandas

我是Pandas和Stack Overflow的新手,所以请耐心等待。我试图计算两次变化百分比(例如,一场比赛,而不是一天中的时间)。所以假设我有五名运动员。我已经格式化了.csv给了我类似以下内容:

In [3]: df
Out [3]:
          Athlete     Time  Seconds   
1           Gavin  0:17:00     1020   
2            Noah  0:17:45     1065   
3           Chris  0:18:46     1126
4           David  0:21:40     1300         
5          Travis  0:23:11     1391

我使用了一个功能将时间转换为秒,以便下一步更轻松,但如果我不需要这样做,请告诉我。我想知道的是如何计算可能不是第一个的特定人的百分比差异(即,变化不会从最快的时间开始下降)。我希望能够输入一个名字并从中计算出来。因此,如果我选择' Chris',输出将如下:

          Athlete     Time  Seconds    Percent_Diff
1           Gavin  0:17:00     1020            -9.4
2            Noah  0:17:45     1065            -5.4
3           Chris  0:18:46     1126               0
4           David  0:21:40     1300            15.5
5          Travis  0:23:11     1391            23.5

我发现这种方式可以按名称选择一行:

(df1.loc[df1['Athlete'] == 'Chris']['Seconds'])

这为Chris产生了一行。有没有办法让我使用pct_change(),无论我选择哪个名字?我该怎么做呢?谢谢!

1 个答案:

答案 0 :(得分:1)

df1['pct_diff'] = df['seconds'] / df.loc['Chris', 'seconds'] - 1