操作后在数据框中每行创建新的数据帧

时间:2017-06-27 19:38:20

标签: python loops pandas dataframe

我有一个熊猫数据帧,我需要执行多个操作,以便所有数据都与其中一行相关。操作完成后,需要将数据框保存为引用数据框中该行的新数据框。这需要对每一行重复,所以到最后我会为数据帧中的每一行创建一个新的数据帧。

 df
         A    B    C    D
    1    10   20   30   60
    2    20   10   10   20
    3    0    0    10   10

(数据框操作)

    A    B    C    D
1    0    0    0    0 
2    10   -10  -20  -40
3    -10  -20  -20  -50

需要调用它:df1

(对原始数据帧的另一种处理)

     A    B    C    D
1   -10   10   20   40
2    0    0    0    0
3   -20  -10   0   -10

需要将其另存为:df2 等.....

关于如何做到这一点的任何想法。

这是我的抨击:

my_list = df["index"].tolist()
for i in my_list: 
    df + i = #the dataframe after manipulation

3 个答案:

答案 0 :(得分:0)

您可以迭代索引的值并使用Python字典存储映射到数据帧的索引值。

df_dict = {}
for idx in df.index:
    df_current = # do some dataframe manipulation
    df_dict[idx] = df_current

答案 1 :(得分:0)

如何将它们添加到字典中:

dataframes = {}
dataframes["df2"] = #dataframe after manipulation

答案 2 :(得分:0)

IIUC,您可以将数据框存储在列表中。

list_df = []
list_df.append(df)
list_df.append(df * 10)
list_df.append(df / 100)

print(list_df[0])

    A   B   C   D
1  10  20  30  60
2  20  10  10  20
3   0   0  10  10

print(list_df[1])
     A    B    C    D
1  100  200  300  600
2  200  100  100  200
3    0    0  100  100

print(list_df[2])

     A    B    C    D
1  0.1  0.2  0.3  0.6
2  0.2  0.1  0.1  0.2
3  0.0  0.0  0.1  0.1