如何仅获取一列 Pandas 数据框(无索引)并将其放入双端队列?
Posted
技术标签:
【中文标题】如何仅获取一列 Pandas 数据框(无索引)并将其放入双端队列?【英文标题】:How can I get only one column of Pandas dataframe (without index) and put it into deque? 【发布时间】:2021-12-29 14:56:26 【问题描述】:我有一个不同公司形式的 .csv:
Date (Key) | Company 1 | Company 2 | ... | Company n |
---|---|---|---|---|
01.01.2020 | 2 | 11 | ... | 3 |
02.01.2020 | 3 | 9 | ... | 45 |
... | ... | ... | ... | ... |
01.11.2021 | 1 | 12 | ... | 34 |
我保存在股票代码文件中的公司本身。我现在的目标是以以下形式加载这些数据:
[[Company 1] [2 3 ... 1] [Company 2] [11 0 ... 12] ... [Company n] [3 45 ... 34]]
用代码:
import pandas as pd
import pickle
from collections import deque
with open("Webscrapper/Sp500tickers.pickle", 'rb') as f:
tickers = pickle.load(f)
df = pd.read_csv(f"Webscrapper/Sp500tickers_DailyChanges.csv", index_col="Date")
data = [[ticker, df[ticker][0:-1]] for ticker in tickers]
c = deque(data)
print(c)
我也得到了日期,表示一个表单数组
[[Company 1] [Date Company 1 01.01.2020 2 02.01.2020 2 3 ... 01.11.2021 1] [Company 2] [Date Company 2 01.01.2020 11 02.01.2020 0 ... 01.11.2021 12] ... [Company n] [Date Company n 01.01.2020 3 02.01.2020 45 ... 01.11.2021 34]]
如何将数组转换为所需的形式?
【问题讨论】:
【参考方案1】:使用Series.tolist
将列的值转换为列表
data = [[ticker, df[ticker].tolist()] for ticker in tickers]
c = deque(data)
【讨论】:
以上是关于如何仅获取一列 Pandas 数据框(无索引)并将其放入双端队列?的主要内容,如果未能解决你的问题,请参考以下文章
Pandas 如何从 JSON 索引列表并将其放入数据框中?
在 Pandas 中翻转数据框并将一列值保留为新行值 [重复]
如何使用另一个日期时间索引获取具有日期时间索引的 Pandas 数据框中的行?