我有一个类似于以下的数据框架,假设我有两年不同地区的销售额:
公司 | 2021地区1销售额 | 2021地区2销售额 | 2020地区1销售额公司1
---|---|---|
公司2 | 10000 | 17000 | 00000公司3
number_of_regions = 2 # You have to change this
def find_declined_regions(row):
result = []
for i in range(1, number_of_regions+1):
if row[f"2021 Region {i} Sales"] < 25000 and row[f"2020 Region {i} Sales"] > 25000:
result.append(f"Region {i}")
return "; ".join(result)
df.apply(find_declined_regions, axis=1)
df
是您的DataFrame,您必须根据您的问题更改number_of_regions
。
编辑:如果列名称都不同,则有两种情况:
1-你有一个所有地区的列表,所以你可以这样做:
for region in all_regions:
if row[f"2021 {region} Sales"] < 25000 and row[f"2020 {region} Sales"] > 25000:
2-你没有一个所有地区的列表,所以你必须创建一个:
all_regions = [col[5:-6] for col in df.columns[1:int(len(df.columns)/2)+1]]