Я хочу автоматизировать некоторую подпрограмму с кодом python:
portfolio = [ apple, tesla, amazon]
def change_dim(list):
for x in list:
x = x['Adj Close']
return list
# That doesn't work for me.
У меня есть список фрейма данных pandas со складскими данными (по 5 столбцов в каждом). Мне нужна функция, которая принимает в качестве аргумента этот список, просматривает все элементы и изменяет их на dfs только с колонкой «Adj Close», а затем возвращает список изменений dfs. Буду признателен, если вы могли бы дать более 1 вариант.
Добавить просто хочу спросить здесь о другой проблеме: После того, как у меня есть эти фреймы данных, я хочу объединить их:
# apple , amazon - two df with the same datetime index and 'Adj Close' #columns
portfolio = pd.merge(apple, amazon, how = 'left', on = apple)
, что дает мне следующую ошибку:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-54-e47969d90c08> in <module>
----> 1 portfolio = pd.merge(apple, amazon, how = 'left', on = apple)
~/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
45 right_index=right_index, sort=sort, suffixes=suffixes,
46 copy=copy, indicator=indicator,
---> 47 validate=validate)
48 return op.get_result()
49
~/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)
527 (self.left_join_keys,
528 self.right_join_keys,
--> 529 self.join_names) = self._get_merge_keys()
530
531 # validate the merge keys dtypes. We may need to coerce
~/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/merge.py in _get_merge_keys(self)
821 if rk is not None:
822 right_keys.append(
--> 823 right._get_label_or_level_values(rk))
824 join_names.append(rk)
825 else:
~/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py in _get_label_or_level_values(self, key, axis)
1704 values = self.axes[axis].get_level_values(key)._values
1705 else:
-> 1706 raise KeyError(key)
1707
1708 # Check for duplicates
KeyError: Date
В чем проблема? Большое спасибо!