如何使用循环同时影响多个数据帧

2024-05-17 05:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

import pandas as pd
import numpy as np
df1 = pd.DataFrame({'a':np.arange(4), 'b':np.arange(4)})


df1

    a   b
0   0   0
1   1   1
2   2   2
3   3   3

df2 = pd.DataFrame({'a':np.arange(4), 'b':np.arange(4)})
df2

    a   b
0   0   0
1   1   1
2   2   2
3   3   3

df3 = pd.DataFrame({'a':np.arange(4), 'b':np.arange(4)})
df3

    a   b
0   0   0
1   1   1
2   2   2
3   3   3

我想用数据帧的名称同时更改这些数据帧组的头,如

df1:

    df1a    df1b
0   0        0
1   1        1
2   2        2
3   3        3


df2:

    df2a    df2b
0   0        0
1   1        1
2   2        2
3   3        3


df3:

df1:

    df3a    df3b
0   0        0
1   1        1
2   2        2
3   3        3

我有一个所有数据帧的列表,比如lst1=[df1,df2,df3......]

有人能帮忙吗


Tags: 数据importnumpy名称dataframepandasasnp
1条回答
网友
1楼 · 发布于 2024-05-17 05:20:35

根据我的说法,您可以按如下方式进行:

创建一个包含所有数据帧的数组,然后按如下所示循环它们。这将根据索引位置动态重命名标题

allDf = [df1, df2, df3]
    
for i,j in enumerate(allDf):
   allDf[I] = j.add_prefix("df"+str(i+1))

您将获得所需的输出,如下所示:

df1:

    df1a    df1b
0   0        0
1   1        1
2   2        2
3   3        3


df2:

    df2a    df2b
0   0        0
1   1        1
2   2        2
3   3        3


df3:

    df3a    df3b
0   0        0
1   1        1
2   2        2
3   3        3

相关问题 更多 >