非下降细胞的百分比变化

2024-09-29 07:35:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来熊猫和堆栈溢出,所以请容忍我。我试图计算两次的百分比变化(例如,对于一场比赛,而不是一天中的某个时间)。假设我有五个运动员。我对.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\u change()来处理这个问题,而不管我选择哪个名称?我该怎么做?谢谢!你知道吗


Tags: 方法名称travistime堆栈时间chrisdavid