从元组列表中向现有数据框添加值

6

我有一个包含两个空列的数据框。我有以下元组列表:

l = [('l1', 0.966797), ('l1', 0.998047), ('l2', 0.978516), ('l2', 0.998047), ('l3', 0.972656)]

我希望将这些值添加到数据框的两个空列中。我知道的一种方法是创建一个如下列表的数据框:

d = pd.DataFrame(l,columns=['s','p'])

但是这将创建一个新的数据框,我需要将这些值添加到现有的数据框中。欢迎任何建议。
1个回答

7

你可以使用带有列名的双重 []joinconcat

df = pd.DataFrame({'column':range(5)})
print (df)
   column
0       0
1       1
2       2
3       3
4       4

l = [('l1', 0.966797), ('l1', 0.998047), 
     ('l2', 0.978516), ('l2', 0.998047), ('l3', 0.972656)]

df[['s','p']] = pd.DataFrame(l)

df = df.join(pd.DataFrame(l,columns=['s','p']))

df = pd.concat([df, pd.DataFrame(l,columns=['s','p'])], axis=1)

print (df)
   column   s         p
0       0  l1  0.966797
1       1  l1  0.998047
2       2  l2  0.978516
3       3  l2  0.998047
4       4  l3  0.972656

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接