迭代csv列以创建多个python数据帧

时间:2016-12-20 01:49:56

标签: python csv pandas dataframe

我正在尝试使用excel csv文件的列创建多个数据框。这是我能够到达的地方



import pandas as pd
file = pd.read_csv('file.csv')
df = pd.DataFrame(file)
cols = df.columns
#column names are 'Date', 'Stock 1', 'Stock 2', etc - I have 1000 columns

for i in range(len(cols)):
    df[i] = df[['Date',b(i)]]




所以最终的结果是我需要多个数据帧。第一个数据框是第1列和第2列(因此日期和库存1),第二个数据框是第1列和第3列(因此日期和库存2),第三个数据帧是第1列和第3列,一直在创建新的数据帧第1栏和第1000栏。

我已经尝试了几种方法,要么索引不可调用,要么尝试使用usecols,我得到usecols必须是字符串或整数。

任何人都可以帮助我。从概念上讲它很容易,但我无法正确使用代码。谢谢。

1 个答案:

答案 0 :(得分:1)

这就是你所要求的:

all_dfs = []
for col in df.columns:
    if col != 'Date':
        df_current = df[['Date', col]]
        all_dfs.append(df_current)

或者作为一行:

all_dfs = [df[['Date', col]] for col in df.columns if col != 'Date']

但你可能不想这样做。没有多大意义。你真的想做什么?