#python #pandas #refinitiv-eikon-api
#python #панды #refinitiv-eikon-api
Вопрос:
Я пытаюсь последовательно добавлять новые данные в фрейм данных в цикле for . Он успешно выполняет запись в выбранный мной столбец фрейма данных (я думаю), но он также записывает данные в другой столбец, который я не пытаюсь редактировать. Почему он это делает? Как я могу это исправить?
# Resetting the data
supplier_rics = supplier_sheet['RICs']
supplier_rics = supplier_rics.dropna()
# Create a DataFrame object that will contain our headlines
supplier_headlines = pd.DataFrame(data={'RIC':supplier_rics},columns=['RIC','Headline'])
supplier_headlines
for i, ric in supplier_rics.iteritems():
# Add R: prefix to RICS for news search
supplier_rics[i] = "R:" supplier_rics[i]
# Create the news query
query = supplier_rics[i] ' AND (Topic:SIG AND Language:LEN)'
# Make the Eikon API Call
headline = ek.get_news_headlines(query=query,count=1)
headline_string = headline['text'].to_string(index=False)
# Add the headline text to the supplier_headlines DataFrame Object
supplier_headlines.iloc[[i,2]] = headline_string
Комментарии:
1. Я думаю, что это ваше
.iloc
. попробуйте изменить его наsupplier_headlines.iloc[i,2]
отсутствие двойных скобок. Также в зависимости от того, сколько столбцов имеет ваш df, он должен бытьsupplier_headlines.iloc[i,1]
2. Да. Это было так. Ранее я получал ошибки с одиночной скобкой
.iloc
, поэтому она была двойной в первую очередь. Спасибо.3. Нет проблем. Рад помочь. в качестве отступа — в случае изменения df вы всегда можете сделать
.loc[i, ['Headline']]
, потому что число будет индексом строки