Python 通过向for循环中的df添加列表值,将列表转换为数据帧
我有一个简单的清单 检索i、v列表的代码: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
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()
通常是循环中不好的做法。您可以在此处阅读更多有关原因的信息: