Новый столбец в пандах в течение цикла

в HTML, вы делаете это в обратном порядке: вы определяете ввод текста и присоединяете к нему datalist. (обратите внимание на атрибут списка ввода).

<input type="text" list="browsers" />

<datalist id="browsers">
    <option value="Internet Explorer">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
</datalist>

1
задан DeShaunCarter 8 March 2019 в 11:26
поделиться

1 ответ

закомментируйте свой цикл for и попробуйте это

def get_data(x):
    try:
        r = requests.get('https://query2.finance.yahoo.com/v10/finance/quoteSummary/' + x + '?formatted=true&crumb=8ldhetOu7RJ&lang=en-US&region=US&modules=defaultKeyStatistics%2CfinancialData%2CcalendarEvents&corsDomain=finance.yahoo.com')
        data = r.json()
        financial_data = data['quoteSummary']['result'][0]['defaultKeyStatistics']
        return financial_data['yield']
    except:
        return 'error'


df['Yield'] = df['Symbol'].apply(lambda x: get_data(x))

, если вы не хотите использовать apply, вы можете использовать индексацию, которая была бы быстрее

for i in df.index:
    x = df.at[i, 'Symbol']
    try:
        r = requests.get(
            'https://query2.finance.yahoo.com/v10/finance/quoteSummary/' + x + '?formatted=true&crumb=8ldhetOu7RJ&lang=en-US&region=US&modules=defaultKeyStatistics%2CfinancialData%2CcalendarEvents&corsDomain=finance.yahoo.com')
        data = r.json()
        financial_data = data['quoteSummary']['result'][0]['defaultKeyStatistics']
        df.at[i, 'Yield'] = financial_data['yield']
    except Exception as e:
        print(e)

в случае ошибки его столбец Yield будет иметь значение Nan

0
ответ дан Nihal 8 March 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: