pandas 迭代现有 Dataframe 的列以创建一组新 Dataframe

mbzjlibv  于 2023-03-28  发布在  其他
关注(0)|答案(1)|浏览(110)

我想迭代一个 Dataframe 的列,以创建一组 Dataframe ,每个 Dataframe 由初始 Dataframe 的第一个“日期”列组成,在每次迭代时该列。
主dataframe看起来像这样:Main Dataframe
我想避免使用列索引(如下面的示例所示)一个接一个地设置主 Dataframe 的耗时路线,因为我想在日期旁边创建167列单独的 Dataframe 。
有没有一种方法可以使用for循环并通过名称引用列进行迭代?

energy = returns.iloc[:,[0,2]]
health_care = returns.iloc[:,[0,3]]
...

etc
qlckcl4x

qlckcl4x1#

出于说明的目的,并假设日期始终是第一列。

df = pd.DataFrame({'Dates': pd.date_range(start='2021-01-01 01:04:16', periods=5), 'a':range(1,6), 'b':range(1,6), 'c':range(1,6)})
col_list = df.iloc[:, 1:].columns.tolist()
for c in col_list:
    dfnew = df.loc[:, ['Dates',c]]
    print(dfnew)

                Dates  a
0 2021-01-01 01:04:16  1
1 2021-01-02 01:04:16  2
2 2021-01-03 01:04:16  3
3 2021-01-04 01:04:16  4
4 2021-01-05 01:04:16  5
                Dates  b
0 2021-01-01 01:04:16  1
1 2021-01-02 01:04:16  2
2 2021-01-03 01:04:16  3
3 2021-01-04 01:04:16  4
4 2021-01-05 01:04:16  5
                Dates  c
0 2021-01-01 01:04:16  1
1 2021-01-02 01:04:16  2
2 2021-01-03 01:04:16  3
3 2021-01-04 01:04:16  4
4 2021-01-05 01:04:16  5

相关问题