2017-02-21 3 views
0

Извините за то, что кажется невероятно основной проблемой, но на самом деле я не мог найти ответы на это. У меня есть прямая функция добавления элементов (символов запаса) в список на основе их последней буквы. Для начала я использую список. «nyse» - это dataframe. Функция такова:Создание списка элементов из dataframe по последней букве в строке

nysewarrants =() 

def warrants(x, y): 
    for e in x: 
     if x.Symbol[e][-1] == 'W': 
      y.append(e) 
    return y 

warrants(nyse, nysewarrants) 

Текущая ошибка: «KeyError:« Symbol ». Я попробовал "print (nyse.Symbol [9] [- 1])" и получил ожидаемый результат.

Большое спасибо за любую помощь.

+0

К сожалению, данные связаны здесь в ответ: http://stackoverflow.com/questions/25338608/download-all-stock-symbol- список-of-market – snapcrack

ответ

1

Итерация над pandas DataFrame выполняет итерацию по столбцу. Так как вы хотите, чтобы перебирать по строкам, вам нужно использовать iterrows()

nysewarrants = [] 

def warrants(x, y): 
    for index, row in x.iterrows(): 
     if x.Symbol[index][-1] == 'W': 
      y.append(row) 
    return y 

warrants(nyse, nysewarrants) 
+0

Работает! Большое спасибо: D – snapcrack

+0

Можете ли вы принять мой ответ? Это приятно, спасибо, что он создал мой репу :) –

+0

Извините, это буквально первый вопрос, который я опубликовал на SO, так что даже мой upvote не будет считаться. Еще раз спасибо! – snapcrack