如何提取Pandas DataFrame无索引单列数据并存入deque?
问题解决方法
问题原因
你从DataFrame中直接取单列得到的是pandas Series对象,默认自带行索引(也就是你设置的日期列),所以输出时会连带索引信息一起展示。
修改方案
若需要每个公司和对应数值组成嵌套子列表的deque:
把取值部分加上.to_list()方法,仅提取Series的数值部分,修改对应代码行即可:
# 原来的代码 # data = [[ticker, df[ticker][0:-1]] for ticker in tickers] # 修改为 data = [[ticker, df[ticker][:-1].to_list()] for ticker in tickers]
若需要公司名、数值序列完全平铺的deque(和你给出的预期格式完全一致):
需要额外把列表展平,修改代码如下:
data = [item for ticker in tickers for item in ([ticker], df[ticker][:-1].to_list())] c = deque(data)
补充说明
.to_list()会把pandas Series的数值部分转为Python原生列表,完全丢弃索引信息- 如果需要numpy数组格式的数值,可以把
.to_list()替换为.values
内容的提问来源于stack exchange,提问作者Martin Kunze
相关产品推荐
相关产品推荐

