【问题标题】:Load Multiple CSV files into one DataFrame with multilevel将多个 CSV 文件加载到一个具有多级的 DataFrame 中
【发布时间】:2020-01-23 10:47:57
【问题描述】:

我想将多个 CSV 文件加载到一个数据帧中。每个 CSV 包含 6 列的股票数据('Open'、'High'、'Low'、'Close'、'Adj Close'、'Volume')。我设法加载了 CSV 文件,但我缺少列名(每个代码,来自 CSV)。

sp500 =  os.listdir(os.path.splitext(os.getcwd()+'/spy500')[0])

combined = pd.concat([pd.read_csv('spy500/'+i, parse_dates=True, index_col='Date') for i in sp500], axis=1)

输出:

Open    | High  |Low    |Close| Adj Close   |Volume|    Open|   High|   Low Close|  Adj Close   |Volume

希望输出:

AAPL                                            | GOOG                  
Open |High  |Low    |Close  |Adj Close  |Volume |Open   |High   |Low    |Close  |Adj Close  |Volume

输出是正确的,我唯一需要的是添加一个多级列: 5986行×3030列

【问题讨论】:

  • 你能在不同的csv和预期的输出中放一个列的例子吗
  • print (sp500[:5]) 是什么?
  • ['A.csv', 'AAL.csv', 'AAP.csv', 'AAPL.csv', 'ABBV.csv']

标签: python pandas csv


【解决方案1】:

使用dictionary comprehension:

comp = {i.split('.')[0]: 
        pd.read_csv('spy500/'+i, parse_dates=True, index_col='Date') for i in sp500}
combined = pd.concat(comp, axis=1)

【讨论】:

    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2010-09-18
    • 2019-10-06
    相关资源
    最近更新 更多