Python 通过向for循环中的df添加列表值,将列表转换为数据帧

Python 通过向for循环中的df添加列表值,将列表转换为数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个简单的清单 检索i、v列表的代码: for i, v in enumerate(list_name_1): print(i, v) 输出 5 -100 4 30 0 -90 1 -80 3 100 2 1000 and so on 我希望将所有这些存储在一个数据帧中 问题是我正在for循环中对list_name_1进行大量计算,因此我只需要捕获for循环中的I和v值。因此,我不能为例如,做一个简单的df=pd.Data

我有一个简单的清单

检索i、v列表的代码:

 for i, v in enumerate(list_name_1):
    print(i, v)
输出

    5 -100
    4 30
    0 -90
    1 -80
    3 100
    2 1000
    and so on
我希望将所有这些存储在一个数据帧中

问题是我正在for循环中对list_name_1进行大量计算,因此我只需要捕获for循环中的I和v值。因此,我不能为例如,做一个简单的
df=pd.DataFrame(list\u name\u 1)

我将需要执行以下操作:

df = []
 for i, v in enumerate(list_name_1):
        print(i, v)
        some code to add i,v iteratively in columns i and v of df

一个想法是创建两个列表,一个存储
i
的计算值,另一个存储
v
的计算值。因此:

i_values = []
v_values = []
for i, v in enumerate(list_name_1):
    print(i, v)
    # Make calculations for i and v
    i_values.extend([calculated_i])
    v_values.extend([calculated_v])

df = pd.DataFrame(data={"i": i_values, "v": v_values})

我认为你应该使用预先定义的语法,使用for循环真的很长

import pandas as pd

L = ["This","Is","A","List"]
M = ["This","Is","Also","List"]
#create new dataframe
df = pd.DataFrame({'col':L,'col2':M})
print (df)


           col  col2
       0  This  This
       1    Is    Is
       2     A  Also
       3  List  List

我认为你可以做到:

for i, v in enumerate(list_name_1):
    diction = {'i': i, 'v': v}
    df = df.append(diction, ignore_index=True)
    

我不知道您是如何进行计算的,但我认为这是捕获所有值的好方法。

您说“…关于列名为I和v的数据框”,但在您的示例中,
列表中的所有条目都是唯一的,因此数据框应该有很多列,只有很少的行?在列表中,我们只有两种类型的值i和v。我想把它们转换成一个包含两列I和v的数据帧。因此,df将有2列和多行。基本列表是特征重要性。i是特征编号,v是特征值。。因此,我想在df中获取这些数据,并能够在df格式中对其执行一些操作。我添加了一个答案,我认为它符合您的要求。请告诉我是否存在任何不一致性
name错误:未定义name“computed_i”
error。我知道这个错误很好,谢谢。我不是用iI代替计算的,而是觉得你想在循环中进行计算,这就是为什么我称它们为
computed\u i
。但是,嘿,如果它起作用了,你满意了,那就好了!如果
list\u name\u 1
很长,则循环将变得非常缓慢,性能将恶化,因为
df.append()
通常是循环中不好的做法。您可以在此处阅读更多有关原因的信息: