我有30个数据帧,但是从这些数据帧中我只想要一列。这些dataframe中的每一个都包含股票priceOHLC,Adj Close和交易量。我想从30个数据帧中提取一列,即"Adj Close"

如何在不使代码冗长的情况下做到这一点?

分析解答

使用list理解:

dfs = [df1, df2, df3...df30]

#if need Series
out = [df['Adj Close'] for df in dfs]
#if need one column DataFrames
#out = [df[['Adj Close']] for df in dfs]

或循环:

out = []
for df in dfs:
    #if need Series
    out.append(df['Adj Close']) 
    #if need one column DataFrames
    out.append(df[['Adj Close']]) 

最后如果每个系列需要一个大的DataFrame每列:

df_big = pd.concat(out, ignore_index=True, axis=1)