Нахождение процентной разницы между значением Id, переданным в фильтре, и значениями других строк в столбце с использованием spotfire - PullRequest
1 голос
/ 23 марта 2020

У меня есть столбец Id и соответствующее значение в качестве примера в приведенных ниже значениях.

Значение Id
A 0,0045 B 0,0044 C 0,0043 D 0,0052

У меня есть Id на основе фильтр, в котором если передается одно значение (например, A, он должен находить процентную разницу со всеми другими идентификаторами, например

Id Compared_id процент_различия AB (0,0044 / 0,0045) * 100 ==> 97,7777777777 (каждый раз, когда небольшое число находится в числитель) A C (0,0043 / 0,0045) * 100 ==> 95,5555555555 AD (0,0045 / 0,0052) * 100 ==> 86,5384615384

То же самое должно отображаться при выборе B или c или n-го идентификатора.

Я добился предварительно рассчитанного значения, сохранив значения в excel, используя приведенный ниже код.

import pandas as pd

df= pd.read_csv(r"filename.csv")

list =[]
for index,row in df.iterrows():
    print("processing {} record".format(index))
    if str(row['IDValue']) != 'nan':
        for i,row1 in df.iterrows():
            rate = 0
            if str(row1['IDValue']) != 'nan' and (row1['IDValue'] != row['IDValue']):
#               print("index: {}".format(i))
                if row['IDvalue'] < row1['IDValue']:
                    rate = (row['IDValue'] / row1['IDValue'])*100
                else:
                    rate = (row1['IDValue'] / row['IDValue'])*100

                if rate <= 100 and rate >= 80.00:

                   list.append([row['ID'],row1['ID'],rate])

как добиться того же результата, передав входное значение идентификатора фильтра и Создание нового вычисляемого столбца в Spotfire.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...