Python如何将CSV表格每行数值转换为排序位次输出
Python实现按行排名的CSV转换方案
首先需要安装pandas数据处理库,如果你还没安装可以执行以下命令:pip install pandas
完整实现代码
import pandas as pd # 1. 读取原始CSV文件,这里假设日期存放在第一列,指定第一列为索引不参与排名 # 如果你的日期列有明确列名比如'date',也可以写成index_col='date' df = pd.read_csv("你的原始文件路径.csv", index_col=0) # 2. 按行执行降序排名:数值越大排名值越小(最大对应1,最小对应3) # method参数可根据重复值处理需求调整,first表示相同值按列出现先后顺序排名 rank_result = df.rank(axis=1, ascending=False, method="first").astype(int) # 3. 导出排名结果到新CSV文件 rank_result.to_csv("排名结果.csv")
可选参数说明
如果遇到同一日期有多个公司数值相同的情况,可修改method参数适配需求:
method="min":相同数值的公司取相同的最小排名,后续排名跳号method="max":相同数值的公司取相同的最大排名,后续排名跳号method="dense":相同数值的公司取相同排名,后续排名不跳号
内容的提问来源于stack exchange,提问作者Martin Kunze
相关产品推荐
相关产品推荐

