【发布时间】:2018-12-03 23:56:27
【问题描述】:
我有一个每日最高温度的 csv。我正在尝试为我的数据分配一个“等级”。我首先将我的每日最高温度从最低到最高排序。然后我创建了一个名为 rank 的新列。
#Sort data smallest to largest
ValidFullData_Sorted=ValidFullData.sort_values(by="TMAX")
#count total obs
n=ValidFullData_Sorted.shape[0]
#add a numbered column 1-> n to use in return calculation for rank
ValidFullData_Sorted.insert(0,'rank',range(1,1+n))
对于相同的每日最高温度值,如何使排名相同? (即每天最高温度达到 95° 时,每个实例的排名应该相同)
这里是一些示例数据:(它的每日温度数据,所以它有数千行)
Date TMAX TMIN
1/1/00 22 11
1/2/00 26 12
1/3/00 29 14
1/4/00 42 7
1/5/00 42 21
我想添加一个 TMAXrank 列,如下所示:
Date TMAX TMIN TMAXRank
1/1/00 22 11 4
1/2/00 26 12 3
1/3/00 29 14 2
1/4/00 42 7 1
1/5/00 42 21 1
【问题讨论】:
-
温度本身就是所有意图和目的的排名?
-
查看 pandas
DataFrame.rank和Series.rank方法 -
看看这是不是helpful。如果您只使用文件并且知道值 >95 F 的排名落在哪里,您可以使用 if then 语句手动分配排名。不看数据有点棘手。
-
@roganjosh 我需要实际排名,因为我想查看概率
-
@KenDekalb 不幸的是我不知道他们在哪里