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

Posted

技术标签:

【中文标题】从元组列表中向现有数据框添加值【英文标题】:Add values to an existing dataframe from list of tuples 【发布时间】:2018-06-21 14:01:27 【问题描述】:

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

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

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

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

但它会创建一个新的数据框,我需要将这些值添加到现有的数据框中。任何建议表示赞赏。

【问题讨论】:

【参考方案1】:

您可以在列名中使用双 []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

【讨论】:

以上是关于从元组列表中向现有数据框添加值的主要内容,如果未能解决你的问题,请参考以下文章

来自元组列表的数据框列过滤器

Pyspark:如何将现有非空列的元组列表作为数据框中的列值之一返回

从元组中的字典创建数据框

从元组列表中获取具有“NaN”的元组索引

从元组的元组中创建一个列表

从元组python 3列表中只获取整数