Python 使用基于df.columns的foor循环计算不同的数据帧

Python 使用基于df.columns的foor循环计算不同的数据帧,python,pandas,loops,dataframe,Python,Pandas,Loops,Dataframe,我有一个带有日期列的熊猫数据框,还有10个带有值的其他列。现在我想有10个数据帧,其中每个数据帧都有日期列和一个其他列 我尝试的是: for i in df.columns: i = df[["Datum", i]] print(i) df.columns如下所示: In [29]: df.columns Out[29]: Index(['Datum', 'Alle', 'B', 'E', 'F', 'G', 'M', 'P', 'V', 'X'], dty

我有一个带有日期列的熊猫数据框,还有10个带有值的其他列。现在我想有10个数据帧,其中每个数据帧都有日期列和一个其他列

我尝试的是:

for i in df.columns:
    i = df[["Datum", i]]
    print(i)
df.columns如下所示:

In [29]: df.columns
Out[29]: Index(['Datum', 'Alle', 'B', 'E', 'F', 'G', 'M', 'P', 'V', 'X'], dtype='object')
我得到的结果如下所示,这就是我想要的:

        Datum      Datum
0  2019-01-31 2019-01-31
1  2019-02-28 2019-02-28
2  2019-03-28 2019-03-28
3  2019-04-30 2019-04-30
4  2019-05-29 2019-05-29
5  2019-06-28 2019-06-28
6  2019-07-31 2019-07-31
7  2019-08-30 2019-08-30
8  2019-09-30 2019-09-30
9  2019-10-31 2019-10-31
10 2019-11-29 2019-11-29
11 2019-12-31 2019-12-31
        Datum       Alle
0  2019-01-31   3.667723
1  2019-02-28   8.701268
2  2019-03-28  14.552034
3  2019-04-30  19.510565
4  2019-05-29  25.989171
5  2019-06-28  34.508452
6  2019-07-31  39.776545
7  2019-08-30  46.492076
8  2019-09-30  52.749604
9  2019-10-31  59.086107
10 2019-11-29  70.755943
11 2019-12-31  96.143687
        Datum          B
0  2019-01-31   2.655556
1  2019-02-28   6.244444
2  2019-03-28  12.033333
3  2019-04-30  16.133333
4  2019-05-29  19.577778
5  2019-06-28  24.666667
6  2019-07-31  28.455556
7  2019-08-30  31.077778
8  2019-09-30  36.433333
9  2019-10-31  40.088889
10 2019-11-29  47.055556
11 2019-12-31  98.888889
(..…所有列的输出都将继续)

但是,如果我想在控制台中看到其中一个数据帧或类型:

Alle.info()
我得到以下错误:

NameError: name 'Alle' is not defined

显然,数据帧的计算是正确的,但我不能像我想的那样使用它们。有人知道如何用不同的名称保存这些数据帧吗?最好使用它们包含的列名。

您可以这样做

dfs = {col : df[['Datum', col]] for col in df.columns[1:]}

dfs['Alle'].info()

你可以这样做

dfs = {col : df[['Datum', col]] for col in df.columns[1:]}

dfs['Alle'].info()