小编Ava*_*jee的帖子

基于来自另一个数据框熊猫的匹配值的新列

如果我们有两个数据框,例如df1df2在下面的示例中;我们如何合并它们以生成df3

import pandas as pd
import numpy as np

data1 = [("a1",["A","B"]),("a2",["A","B","C"]),("a3",["B","C"])]
df1 = pd.DataFrame(data1,columns = ["column1","column2"])
print df1

data2 = [("A",["1","2"]),("B",["1","3","4"]),("C",["5"])]
df2 = pd.DataFrame(data2,columns=["column3","column4"])
print df2

data3 = [("a1",["A","B"],["1","2","3","4"]),("a2",["A","B","C"], 
["1","2","3","4","5"]),("a3",["B","C"],["1","3","4","5"])]
df3 = pd.DataFrame(data3,columns = ["column1","column2","column5"])
print df3
Run Code Online (Sandbox Code Playgroud)

我的目标是不使用循环,因为我正在处理大型数据集

python merge dataframe pandas

2
推荐指数
1
解决办法
95
查看次数

根据单元格值将列添加到pandas数据框中

这是我有的东西:

list1_ = [("1","a","a1"),("1","b","b1"),("1","c","c"),("2","a","a2")]
df1 = pd.DataFrame(list1_,columns = ["user","col1","col2"])
list2_ = [("1","b","b2"),("1","a","a2"),("2","a","a3"),("1","c","c2")]
df2 = pd.DataFrame(list2_,columns = ["user","col1","col3"])
Run Code Online (Sandbox Code Playgroud)

我要做的是为df2中的(user,col1)与df1匹配,并在df1中添加col3 ...基本上为相同的单元格值生成df1:(user,col1,col2,col3).最终结果应如下所示:

list3_ = [("1","a","a1","a2"),("1","b","b1","b2"),("1","c","c","c2"), 
("2","a","a2","a3")]
df3 = pd.DataFrame(list3_,columns = ["user","col1","col2","col3"])
Run Code Online (Sandbox Code Playgroud)

请注意:我从csv文件中读取df1,然后使用list2_创建df2.因此,我有一些list2_形式的数据,但不是list1_的形式.所以,想只使用df1,list2_和/或df2.

python dataframe pandas

1
推荐指数
1
解决办法
65
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

merge ×1