使用一个公共列(如 Vlookup)合并 CSV 文件。所有 CSV 文件都有相同的列标题,但每个 CSV 都有不同公司的数据。不同公司的每日最高价、最低价、收盘价等数据。
所以我试图使用 dataframe.column 重命名它,但在重命名这些列后给出了 Nan 值。如果我在 CSV 文件中手动更改名称,那么它工作得很好,所以我的代码是正确的,但如果我重命名列,它都会给出“Nan”。
import pandas as pd
import glob
import os
df = pd.read_csv("GE.csv")
for csv in glob.glob('Output/*.csv'):
df1 = pd.read_csv(csv)
ticker = os.path.basename(csv).split(".")[0]
df1.columns = ['Date', f'{ticker} Open', f'{ticker} High', f'{ticker} Low', f'{ticker} Close', f'{ticker} Adj Close', f'{ticker} Volume']
df = df.merge(df1, on='Date', how='left')
print(df)
df.to_csv('merged.csv', index=False)
答案 0 :(得分:1)
本质上,我认为您只是在创建新列。要重命名数据框列,请使用 rename。
df = df.rename(columns={'old_column_name_to_change':'new_column_name'})
# example
df = df.rename(columns={'Open': f'{ticker} Open', 'Low' : f'{ticker} Low'})
使用这种方法,您可以通过将它们作为字典传递来指定要更改的名称,并且顺序无关紧要