【发布时间】:2020-07-12 13:51:12
【问题描述】:
我想用 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.
我有一个带有股票数据的熊猫数据框列表(每列 5 列)。我需要一个函数,该函数将列表作为参数,遍历所有项目并将它们更改为仅具有“Adj Close”列的 dfs,然后返回更改列表 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
有什么问题? 非常感谢!
【问题讨论】:
-
SO 不是代码编写服务,请提供您的示例输入和输出以及您自己的尝试。
标签: python pandas function loops dataframe