我有一个大的EXCEL文件,其中包含从API加载和排序的股票数据。以下是适用于解决此问题的虚拟数据示例:
我想创建一个函数,按他们的行业对股票进行评分。对于这个样本,如果一只股票的[‘Growth’]值低于其组的平均增长(分位数,百分位数),我想给一只股票打5分,如果高于组的平均增长**,我想给它打10分。应在列表中返回一列中所有值的分数
当前未完成代码:
import numpy as np
import pandas as pd
data = pd.DataFrame(pd.read_excel('dummydata.xlsx')
所需的输入:
data['Growth'].apply(score) # Scores stock
所需输出:
[5,10,10,5,10,5]
如果我可以为这个样本创建一个函数,那么我将能够为不同的列创建类似的函数,这些列具有稍微不同的条件和影响分数的聚合(如百分位数或分位数)。我想说,这里的主要问题是访问这些分组的值并对它们进行比较。
1条答案
按热度按时间e3bfsja21#
我认为不可能在
apply
调用中将序列转换为列表。在这一点上我可能是错的,但如果将所需的输出稍微更改为然后,您可以使用lambda函数来执行此操作。