将数据帧列表合并为新的数据帧

2024-09-29 21:55:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个数据框架,它结合了从yahoo财经下载的各种etf(XLF、XLP、XLU等)的历史价格数据。我试图为每只ETF创建一个数据框,包括日期和调整后的收盘价。现在我想把它们组合成一个数据帧。你知道为什么这样不行吗

我试着将每个csv保存为一个数据帧,它只包含日期和关闭时间。然后我想合并,用日期作为索引

# Here's what I've tried.

import os
import pandas as pd
from functools import reduce

XLF_df = pd.read_csv("datasets/XLF.csv").set_index("Date")["Adj Close"]
XRT_df = pd.read_csv("datasets/XRT.csv").set_index("Date")["Adj Close"]
XLP_df = pd.read_csv("datasets/XLP.csv").set_index("Date")["Adj Close"]
XLY_df = pd.read_csv("datasets/XLY.csv").set_index("Date")["Adj Close"]
XLV_df = pd.read_csv("datasets/XLV.csv").set_index("Date")["Adj Close"]

dfList = [XLF_df, XRT_df, XLP_df, XLY_df, XLV_df]

df = reduce(lambda df1,df2: pd.merge(df1,df2,on="Date"), dfList)

df.head()

我得到一个空的数据帧!如果我说on=“id”,那么我会得到一个关键错误


Tags: csv数据importdfclosereaddateindex

热门问题