Я очень новичок в кодировании, но мне действительно нравится возиться с вытаскиванием данных из финансов Yahoo. Я до сих пор придумываю код, который вытягивает закрытую цену для выбранных тикеров и вычисляет ежемесячную% изменения - отображая ее как транспонированную таблицу с двумя столбцами. Когда вы возвращаете данные в фреймворке данных, я хочу иметь возможность указывать оба столбца с помощью .columns, но, похоже, он вообще не распознает левый столбец (тот, в котором есть тикеры). Когда я пытаюсь передать более одного элемента в .column, это дает мне ошибку, говоря, что есть только 1 столбец. Кто-нибудь знает, почему это было бы, и как я мог бы манипулировать данными, чтобы распознать левую колонку?Левая колонка не распознается при транспонировании - Yahoo finance pandas
symbols_list = ["AAPL", "TSLA"]
d = {}
for x in symbols_list:
try:
d[x] = web.DataReader(x, "yahoo", '2015-12-31')
except:
print "Can't find ", x
ticker = pd.Panel(d)
df1 = ticker.minor_xs('Adj Close')
daily = df1.resample('B', how=lambda x: x)
monthly_change = daily.pct_change(periods = 24)
past_month_change = monthly_change.tail(1)
transposed = past_month_change.transpose()
transposed.columns = ["Monthly % Change"] #This works, but only names the right column, not the left.
Столбцы можно взять список из нескольких пунктов. Вы проходите только один. – Parfait
как @Parfait, уже сказал, что вы должны сделать это следующим образом: 'df.columns = ['col1', 'col2', 'colN']' или, альтернативно, вы можете это сделать: 'df = df.rename (columns = {'col1': 'left', 'col5': 'new_col_name'}) ' – MaxU
Извините, может быть, я не был чист. Если я попробую передать более одного элемента, это дает мне ошибку, говоря, что есть только 1 столбец, но 2 столбца. – Andy