Присвоение значения списку и преобразование данных в Python - PullRequest
1 голос
/ 05 июня 2019

Я новичок в Python и борюсь с некоторыми базовыми преобразованиями (yikes!)

Я хочу написать код, который откроет книгу Excel с идентификаторами и местоположениями и проведет каждую строку через функцию, которая отображает указанное местоположение в код ( обратите внимание, что я не хочу объединять все сразу, каждый строка должна проходить через функцию индивидуально ):

Желаемые результаты

Пока мне удалось написать следующий код:

import pandas as pd

ids = "IDs.xlsx"
df_IDs = pd.read_excel(ids)

codes = "MAP.xlsx"
df_codes = pd.read_excel(codes)

def prop_id(location):
    datapoints = [[location, "Yes"]]
    df = pd.DataFrame(datapoints, columns=['Location', 'Is Match'])
    merge = pd.merge(df_codes, df, how='left', left_on='Location', right_on='Location')
    fltr = merge.dropna()
    column = fltr[['Code']]
    output = column.values.tolist()
    return output

df_IDs['PlaceID'] = df_IDs['Location'].apply(prop_id)
print(df_IDs)

Это выводит следующее:

   ID    Property    Location          PlaceID
0  1234  Property A  Location 1  [[A], [E], [F]]
1  1235  Property B  Location 2            [[B]]

Затем я пытаюсь сопоставить столбец ID с каждым значением списка в столбце PlaceID и повернуть данные по вертикали. Другими словами:

   ID    Property    Location     PlaceID
0  1234  Property A  Location 1   A
1  1234  Property A  Location 1   E         
1  1234  Property A  Location 1   F
1  1235  Property B  Location 2   B 

Любая помощь будет принята с благодарностью. Спасибо!

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