首页 > 解决方案 > 如何根据两个条件遍历数据框?

问题描述

我有一些公司的财务数据样本,我想进行比较。我的数据如下所示:


    Cusip9      Issuer                       IPO Year   Total Assets    Long-Term Debt  Sales      SIC-Code
1   783755101   Ryerson Tull Inc                1996    9322000.0        2632000.0      633000.0   3661
2   826170102   Siebel Sys Inc                  1996    995010.0         0.0            50250.0    2456
3   894363100   Travis Boats & Motors Inc       1996    313500.0         43340.0        23830.0    3661
4   159186105   Channell Commercial Corp        1996    426580.0         3380.0         111100.0   7483
5   742580103   Printware Inc                   1996    145750.0         0.0            23830.0    8473

对于每家公司,我都想计算一个“相似度得分”。该分数应表明与其他公司的可比性。因此,我想用不同的财务数据来比较它们。可比性应表示为欧几里得距离,即财务数据之间的平方差之和的平方根,与“最近的公司”。所以我需要计算到每家公司的距离,符合这些条件,但只需要最接近的分数。公司 1 的资产减去公司 2 的资产加上债务公司 1 减去债务公司 2....

√((x_1-y_1 )^2+(x_2-y_2 )^2) 

这仅应针对具有相同 SIC 代码的公司计算,并且可比公司的 IPO 年份应小于计算“相似度分数”的公司。我只想将这些公司与已经上市的公司进行比较。

希望我的意思很清楚。有人知道我可以从哪里开始吗?我刚开始编程,完全迷失了这个。

提前致谢。

标签: pythonpandasdataframe

解决方案


我会首先根据 SIC 代码创建不同的数据框,因此每个新数据框只包含具有相同 SIC 代码的公司。然后对于每个数据框,只需对公司进行双重循环并计算分数,并将它们存储在矩阵中。(所以你最终会得到一个对称的分数矩阵。)


推荐阅读