2017-02-25 11 views
1

Ich versuche, eine Funktion anzuwenden, die eine Liste der businesstypes aus api.gov als Eingabe zurückgibt. Um die URL zu erstellen, verwendet sie die Dun-Nummer aus einem Pandas-Dataframe.Anwenden einer Funktion einer Spalte im Datenframe, die die Werte jeder Zeile als Eingabe verwendet

import pandas as pd 
from requests.compat import urljoin, quote_plus 

def get_business_types(c): 
    base_url = 'https://api.data.gov/sam/v1/registrations/' 
    duns = c['duns_normal'] 
    final_url = base_url + duns + '0000' 
    request = requests.get(final_url, params=params) 
    data = request.json() 
    result = data['sam_data']['registration']['businessTypes'] 
    return result 

duns['business_types'] =duns['duns_normal'].apply(get_business_types) 

ich irgendwie unklar duns = c['duns_normal'] auf der Linie bin, ist das richtig? Wie bekomme ich die Dun-Nummer, damit ich die URL erstellen kann?

Antwort

1

Wenn Sie apply für eine Spalte verwenden, wird jeweils ein Wert übergeben. Also würde das Folgende ausreichen.

import pandas as pd 
from requests.compat import urljoin, quote_plus 

def get_business_types(c): 
    print(c) 
    base_url = 'https://api.data.gov/sam/v1/registrations/' 
    #duns = c['duns_normal'] 
    final_url = base_url + str(c) + '0000' 
    request = requests.get(final_url, params=params) 
    data = request.json() 
    result = data['sam_data']['registration']['businessTypes'] 
    return result 

duns['business_types'] =duns['duns_normal'].apply(get_business_types) 
Verwandte Themen