连接两个熊猫数据框列

时间:2019-12-08 19:33:54

标签: python-3.x pandas

我有两个大熊猫数据帧,如下所示,其中col1,col2和col3在两个数据帧中都相同。我想以这样的方式连接两个数据帧,即新数据帧添加了col4和col5而不重复行。

df1 = pd.DataFrame(data = {'col1' : [1, 2, 3],
                           'col2' : [10, 11, 12], 'col3' : [1, 1, 2], 'col4' : [100, 200, 300]})

df1

   col1  col2  col3  col4
0     1    10     1   100
1     2    11     1   200
2     3    12     2   300

df2 = pd.DataFrame(data = {'col1' : [1, 2, 3],
                           'col2' : [10, 11, 12], 'col3' : [1, 1, 2], 'col5' : [20, 40, 60]})

   col1  col2  col3  col5
0     1    10     1    20
1     2    11     1    40
2     3    12     2    60

我的预期输出数据框:

   col1  col2  col3   col4  col5
0     1    10     1  100.0   20
1     2    11     1  200.0   40
2     3    12     2  300.0   60

我尝试了以下代码,但是它复制了行,如下所示。

merge = pd.concat([df1, df2], axis=0, ignore_index=True)

   col1  col2  col3   col4  col5
0     1    10     1  100.0   NaN
1     2    11     1  200.0   NaN
2     3    12     2  300.0   NaN
3     1    10     1    NaN  20.0
4     2    11     1    NaN  40.0
5     3    12     2    NaN  60.0

1 个答案:

答案 0 :(得分:1)

使用DataFrame.merge

 int userInput = Convert.ToInt32(Console.ReadLine());
    var result = dictionary.FirstOrDefault(x => x.Key == userInput);
    if(result.Value != null)
        Console.WriteLine("You chose book = {0}", result.Value);
    else
        Console.WriteLine("Wrong Input");