Python 使用for循环在数据帧中添加值

Python 使用for循环在数据帧中添加值,python,pandas,selenium,dataframe,Python,Pandas,Selenium,Dataframe,我是新来的 这是我第二次问类似的问题,因为第一个问题不清楚,而且是重复的。顺便说一句,我是新手,正在努力学习网页抓取 这就是我到目前为止所做的: 我有一个字符串列表,其中第一个索引是列名,下一个索引是它的值。类似地,第三个索引是列名,但不同名称的第四个索引是值 我想把所有这些列表放到数据框中,列名为“I”,值为“I\u next” text=my_detail[0].split('\n') #for example text=['a','2','b','3',c,'4'] <is a li

我是新来的

这是我第二次问类似的问题,因为第一个问题不清楚,而且是重复的。顺便说一句,我是新手,正在努力学习网页抓取

这就是我到目前为止所做的:

我有一个字符串列表,其中第一个索引是列名,下一个索引是它的值。类似地,第三个索引是列名,但不同名称的第四个索引是值

我想把所有这些列表放到数据框中,列名为“I”,值为“I\u next”

text=my_detail[0].split('\n')
#for example text=['a','2','b','3',c,'4'] <is a list not dataframe>
#some of the string in text is not require
#example the text can be ['a','2','f','b','3','c','4']

df = pd.DataFrame(columns=['a','b','c'])

for i,nexti in zip(text,text[1:]):

    if i in df.columns:
        #store df at column name i having value nexti  
'''
The expected answer is
a b c
2 3 4
'''
text=my_detail[0]。拆分('\n')
#例如text=['a','2','b','3',c','4']
#文本中的某些字符串不是必需的
#例如,文本可以是['a'、'2'、'f'、'b'、'3'、'c'、'4']
df=pd.DataFrame(列=['a'、'b'、'c'])
对于i,zip中的nexti(text,text[1:]):
如果我在df.columns中:
#将df存储在具有值nexti的列名i处
'''
预期的答案是
a、b、c
2 3 4
'''
如果这个问题再次得到任何问题或重复你可以评论,我会删除它


感谢您的考虑,

使用
DataFrame
构造函数,通过索引获取值的值:

df = pd.DataFrame([text[1::2]], columns=text[::2])
print (df)
   a  b  c
0  2  3  4
编辑:

循环中的解决方案-想法是创建字典列表并将其传递给
DataFrame
构造函数:

L= [['a\n2','b\n3','c\n4'], ['a\n20','b\n30','c\n40']]

final = []
for x in L:
    inner = {}
    for y in x:
        text = y.split('\n')
        for a, b in zip(text[::2],text[1::2]):
            inner[a] = b
    final.append(inner)

print (final)
[{'a': '2', 'b': '3', 'c': '4'}, {'a': '20', 'b': '30', 'c': '40'}]

df = pd.DataFrame(final)
print (df)

    a   b   c
0   2   3   4
1  20  30  40

pd.DataFrame(dict(zip(text[::2],text[1::2])),index=[0])
。?很抱歉,我手动为DataFrame指定了列名称,因为我只想添加特定的名称,因为文本中的一些字符串是不需要的。感谢您的回答@jezrael。但是我的文本也有未使用的字符串,所以我想通过将字符串与数据框的列名匹配来添加它的值。