向量化熊猫数据框列表中的函数

阿比舍克·库尔卡尼(Abhishek kulkarni)

我读取了一个Excel文件,并将每个选项卡另存为pandas数据框。

import pandas as pd
xla = pd.ExcelFile("file_name.xlsx")
kl=xla.sheet_names
hf_list=[]
for i in range(len(kl)):   
    hf_list.append(pd.read_excel(xla, i,index_col=0))

我打算计算列表中每个数据框的排名,因此编写了以下代码。

def score_card(raw_list):    
    score_list=[]    
    for i in range(len(raw_list)):
        score_list.append(raw_list[i].rank(axis=1))        
    return score_list

score_list=score_card(hf_list)

我想知道是否有一种方法可以对代码进行矢量化处理,并避免score_card函数中的for循环(也可以读取excel文件)。在此先感谢您的时间。

耶斯列尔

如果sheet_name = Noneread_excel每个工作表名称的DataFrames的获取顺序中使用参数

dfs = pd.read_excel("file_name.xlsx", sheet_name = None, index_col=0) 

然后使用列表理解:

score_list = [v.rank(axis=1) for k, v in dfs.items()]

或者使用以下命令创建大型DataFrame concat

df = pd.concat(dfs.values())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章