如何在Python中使用cbind

如何在Python中使用cbind

cbind函数是实现此目的的最简单方法之一。cbind方法(表示列绑定)是一种合并函数,将具有不同行数的两个数据帧合并为一个统一的数据帧。连接具有相同行数的两个Pandas DataFrame比看起来要困难一些。我们在R中使用cbind函数。在本教程中,我们将介绍如何使用concat()函数在Python Pandas中绑定两个数据帧的列。

具有相同索引数量的数据帧

首先,我们将使用Pandas的DataFrame函数创建两个数据帧。

创建DataFrame 1

代码

import pandas as pd

#Creating the Data Frame

data = {
'Name':['Itika','Arshia','Aditi','Peter','Parker','Harry','Naill',
'Zayn','Louis'],
'Eng_Marks':[9, 74, 57, 28, 93, 46, 24, 86, 42],
'Math_Marks':[65, 24, 6, 34, 86, 74, 34, 65, 45]}

dataframe1 = pd.DataFrame(data)
print(dataframe1)

创建DataFrame 2

代码

import pandas as pd

#Creating the Data Frame

data = {
'Sci_Marks':[65, 23, 76, 84, 23, 75, 35, 65, 86],
'Hindi_Marks':[63, 98, 75, 76, 23, 54, 65, 24, 53]}

dataframe2 = pd.DataFrame(data)
print(dataframe2)

让我们加入或进行列合并两个数据帧,dataframe1和dataframe2。通过使用concat()函数,将两个数据帧组合在一起。concat()函数接受两个数据帧作为参数,并逐列进行合并的过程。

代码

import pandas as pd
print(pd.concat([dataframe1, dataframe2], axis=1))

参数axis=1指定绑定数据帧按列进行,因此最终绑定的数据帧将如下所示。

拥有相同数量索引的数据框

首先,我们将使用Pandas的DataFrame函数创建两个数据框。

创建数据框1

代码

import pandas as pd

#Creating the Data Frame

data = {
'Fruit':['Mango','Pomegranate','Orange','Litchi','Kiwi','Melon','Apple',
'Banana','Guava'],
'Kgs':[54, 75, 34, 87, 65, 87, 65, 67, 58],
'Boxes':[12, 43, 12, 32, 34, 23, 12, 32, 21]}

dataframe1 = pd.DataFrame(data)
print(dataframe1)

创建DataFrame 2

Code

import pandas as pd

#Creating the Data Frame

data = {
'dilivery_days':[12, 21, 10, 9, 7, 5, 10, 9, 7]}

dataframe2 = pd.DataFrame(data)
dataframe2.index = [9, 10, 11, 12, 13, 14, 15, 16, 17]
print(dataframe2)

输出:

如何在Python中使用cbind

注意到这两个DataFrame没有相同的索引值。

当我们尝试使用concat()函数将这些数据框拼接在一起时,我们将得到如下所示的最终数据框:

代码

#performing column bind on the two DataFrames
dataframe3 = pd.concat([dataframe1, dataframe2], axis=1)

#view resulting DataFrame
print(dataframe3)

输出:

如何在Python中使用cbind

这不是我们想要的结果。

为了纠正这个问题,在将它们连在一起之前,我们必须手动重置每个DataFrame的索引:

代码

#reseting indices of each of the DataFrame
dataframe1.reset_index(drop = True, inplace = True)
dataframe2.reset_index(drop = True, inplace = True)

#performing column-bind on two DataFrames
dataframe3 = pd.concat([dataframe1, dataframe2], axis=1)

print (dataframe3)

输出:

如何在Python中使用cbind

我们已经学习了如何使用concat()函数在Python中进行列绑定。虽然实际的列绑定函数,即R的cbind()函数比Pandas的concat()函数更方便,但只需要加上一些额外的代码,它们两者可以执行相同的操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程