在 Python 中使用来自 Dataframe 索引的数据创建列表
Posted
技术标签:
【中文标题】在 Python 中使用来自 Dataframe 索引的数据创建列表【英文标题】:Creating a list with data from a Dataframe index in Python 【发布时间】:2014-08-25 03:48:48 【问题描述】:我在尝试将 df 的索引(参见代码)转换为列表时遇到了麻烦,因为当我运行它时,这个列表是一个“时间戳”(我不知道这意味着什么)。代码是
quote='AAPL'
stock = DataReader(quote,'yahoo',start_date,end_date)
stock.head()
df=DataFrame(stock)
xdata = df.index.tolist()
然后当我运行时我得到
[Timestamp('2010-01-04 00:00:00'), Timestamp('2010-01-05 00:00:00'), Timestamp('2010-01-06 00:00:00'), Timestamp('2010-01-07 00:00:00'), Timestamp('2010-01-08 00:00:00')]
但我想要这样的东西:
['2010-01-04', '2010-01-05'), ...,'2010-01-08')]
有人可以帮我解决这个问题吗?
提前致谢!
【问题讨论】:
df.index.map(pd.Timestamp.date).tolist()
或 df.index.date.tolist()
TimeStamp 是类似于 numpy 的 datetime64 的 pandas dtype,你最好保持索引不变,因为当你想做一些与日期时间相关的操作时,比如找到两个时间戳之间的行或 min/max 如果您转换为字符串,您将无法执行此操作。
【参考方案1】:
ts_list = df.index.tolist() # a list of Timestamp's
date_list = [ ts.date() for ts in ts_list ] # a list of datetime.date's
date_str_list = [ str(date) for date in date_list ] # a list of strings
【讨论】:
以上是关于在 Python 中使用来自 Dataframe 索引的数据创建列表的主要内容,如果未能解决你的问题,请参考以下文章
Python-requests POST JSON 格式的文本字符串,使用来自 Pandas DataFrame 的数据,循环通过 DataFrame 记录
来自Python Dictionary的PySpark Dataframe没有Pandas
来自文本文件的大量数据的Python DataFrame数据分析
来自 Geopandas Dataframe 的 Python Chloropleth Mapbox