如何在熊猫数据框的特定列中写入数据?

时间:2019-03-05 12:00:32

标签: python pandas

我已经创建了列标签列表。

columns_labels = ['Phase', 'Nodes', 'Activation Func', 'Batch Size', 'Layers', 'Optimizers', 'Weight Initializers', 'Dropout']

for i in range(1, 101):
    epoch_num = 'E'+str(i)
    columns_labels.append(epoch_num)

现在,我有一个列表列表,其中仅包含“节点”,“激活功能”,“批量大小”,“层”和时期1-100的数据。看起来像这样:

 [50,  'LeakyReLU',  32,  2,  0.1867888888888889,  0.24796666666666667, 0.26335555555555556, 0.27434444444444445, 0.28184444444444445, 0.29123333333333334, 0.29535555555555554, 0.3013111111111111, 0.3076111111111111, ...........  0.3350444444444444]

我需要在“节点”,“激活函数”,“批量大小”和“层”列中的每个列表中删除前4个值,并在生成的E1-E100列中其余100个值中删除上面的for循环。我该怎么办?

注意:我最终将数据添加到数据框,该数据框将包含“优化程序”,“重量初始化程序”,“退出”的值。当前数据中这些列的值不存在。我可以保留它们为空白或填充预定义的值。

1 个答案:

答案 0 :(得分:1)

您可以将每一行转换为字典,然后使用df.append()将其添加到现有数据框中:

selected_columns = ['Nodes', 'Activation Func', 'Batch Size', 'Layers', ...]
rows_to_add = [[50, 'LeakyReLU', 32, 2, ...], [50, 'LeakyReLU', 16, 1, ...], ...]

for row in rows_to_add:
    dictionary = dict(zip(selected_columns, row))
    df = df.append(dictionary, ignore_index=True)

您可以从selected_columns构建columns_labels