一个for循环在python中生成多个数据帧

时间:2015-03-21 07:49:22

标签: python

我是python的新手,并试图通过使用一个生成我想要的数据帧的函数来清理我的代码。我想通过阅读不同的列表(一,二,三等)来获得df1,df2,df3等。变量"输入"总是一样的。这是代码:

THX!

将列表转换为数据框

import numpy as np
import pandas as pd
df1 = pd.DataFrame(one, columns=[(Input.cell(0, 0)).value + 'A',
                                 (Input.cell(0, 0)).value + 'B',
                                 (Input.cell(0, 2)).value + 'A',
                                 (Input.cell(0, 2)).value + 'B',
                                 (Input.cell(0, 3)).value + 'A',
                                 (Input.cell(0, 3)).value + 'B',
                                 (Input.cell(0, 4)).value + 'A',
                                 (Input.cell(0, 4)).value + 'B',
                                 (Input.cell(0, 5)).value + 'A',
                                 (Input.cell(0, 5)).value + 'B',
                                 (Input.cell(0, 6)).value + 'A',
                                 (Input.cell(0, 6)).value + 'B',
                                 (Input.cell(0, 7)).value + 'A',
                                 (Input.cell(0, 7)).value + 'B',
                                 (Input.cell(0, 8)).value + 'A',
                                 (Input.cell(0, 8)).value + 'B',
                                 'pos1', 'mut1'])

# replacement of '' to NaN
df1 = df1.replace('', np.nan, regex=True)
# calculate differences between individual clones
for i in range(2, 9):
    df1[(Input.cell(0, i)).value + '_dAB'] = diff(df1[(Input.cell(0, i))
                                                  .value + 'A'],
                                                  df1[(Input.cell(0, i))
                                                  .value + 'B'])

1 个答案:

答案 0 :(得分:0)

for i in range(number_of_your_desire):
    df1[(Input.cell(0, i)).value + '_dAB'] = diff(df1[(Input.cell(0, 2)).value + 'A'], df1[(Input.cell(0, i)).value + 'B'])