在Python中合并CSV文件:每个文件只保留一列,并用原始文件名命名列

2024-09-30 05:24:56 发布

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

我有7个股票的csv文件。每个文件共享相同的列和行格式

我应用了不同的方法将这些文件合并到一个数据帧中,但仍然没有成功(循环、使用glob等)。我想保持“Date”列作为dataframe的索引,每个文件的“High”列彼此相邻。然后根据股票名称重命名“High”列

import pandas as pd
FDX = pd.read_csv("../Data/FDX.csv")
GOOGL = pd.read_csv("../Data/GOOGL.csv")
IBM = pd.read_csv("../Data/IBM.csv")
KO = pd.read_csv("../Data/KO.csv")
MS = pd.read_csv("../Data/MS.csv")
NOK = pd.read_csv("../Data/NOK.csv")
XOM = pd.read_csv("../Data/XOM.csv")

stocks = pd.DataFrame({"FDX": FDX["High"],
                       "GOOGL": GOOGL["High"],
                       "IBM": IBM["High"],
                       "KO": KO["High"],
                       "MS": MS["High"],
                       "NOK": NOK["High"],
                       "XOM": XOM["High"]
                       })
stocks.head()

我写的代码有错误。在那里怎么做? 谢谢你的回答


Tags: 文件csvreaddataibmkomspd
1条回答
网友
1楼 · 发布于 2024-09-30 05:24:56

如果他们都有相同的日期范围,这将工作

MergeList = [[GOOGL,'GOOGL'],[IBM,'IBM'],[KO,'KO'],[MS,'MS'],[NOK,'NOK'],[XOM,'XOM']]

NewList = []

for df_t,col_name in MergeList:
    df_t = df_t[['Date','High']]
    df_t.columns = ['Date',col_name]
    NewList.append(df_t)

Merge = FDX

for df_t in NewList:
    Merge = pd.merge(Merge,df_t,on='Date')

相关问题 更多 >

    热门问题