Pandas – 合并两个具有不同列的数据框架

Pandas – 合并两个具有不同列的数据框架

Pandas支持三种类型的数据结构。它们是系列,数据框架和面板。数据框是一个二维的数据结构,这里的数据是以表格的形式存储的,即行和列。我们可以通过多种方式创建数据框。

在这里,我们使用python中的列表数据结构创建一个数据框。

# import required module
import pandas
  
# assign data
l=["vignan","it","sravan","subbarao"]
  
# create data frame
df = pandas.DataFrame(l)
  
# display dataframe
df

输出:

Pandas - 合并两个具有不同列的数据框架

在上面的例子中,我们创建了一个数据框架。让我们合并这两个具有不同列的数据框。我们可以使用concat()方法来连接不同的列。

语法: pandas.concat(objs: Union[Iterable[‘DataFrame’], Mapping[Label, ‘DataFrame’]], axis=’0′, join: str = “‘outer'”)

  • DataFrame:它是数据框架的名称。
  • Mapping: 它指的是映射索引和数据框架列。
  • axis:0指的是行axis,1指的是列axis。
  • join: 连接的类型。

注意:如果数据框架列是匹配的。那么空值就会被NaN值所取代。

一步一步实现:

  • 打开jupyter笔记本
  • 导入必要的模块
  • 创建一个数据框架
  • Perform operations
  • 分析结果。

以下是基于上述方法的一些例子:

示例 1

在这个例子中,我们将根据学院来串联学生的分数。

# importing pandas module
import pandas as pd
  
  
# dictionary with list object in 
# values ie college details
details = {
    'Name': ['Sravan', 'Sai', 'Mohan', 'Ishitha'],
    'College': ['Vignan', 'Vignan', 'Vignan', 'Vignan'],
    'Physics': [99, 76, 71, 93],
    'Chemistry': [97, 67, 65, 89],
    'Data Science': [93, 65, 65, 85]
}
  
  
# converting to dataframe using DataFrame()
df = pd.DataFrame(details)
  
  
# print data frame
df

输出:

Pandas - 合并两个具有不同列的数据框架

# creating another data
details1 = {
    'Name': ['Harsha', 'Saiteja', 'abhilash', 'harini'],
    'College': ['vvit', 'vvit', 'vvit', 'vvit'],
    'Physics': [69, 76, 51, 43],
    'Chemistry': [67, 67, 55, 89],
    'Maths': [73, 65, 61, 85]
}
  
# create dataframe
df1 = pd.DataFrame(details1)
  
  
# display dataframe
df1

输出:

Pandas - 合并两个具有不同列的数据框架

# concat dataframes
pd.concat([df, df1], axis=0, ignore_index=True)

Pandas - 合并两个具有不同列的数据框架

# concat when axis = 1
pd.concat([df, df1], axis=1, ignore_index=True)

Pandas - 合并两个具有不同列的数据框架

示例 2:

储存分数和科目详情

# Import pandas library
import pandas as pd
  
# initialize list of lists
data = [['sravan', 98.00], ['jyothika', 90.00], ['vijay', 79.34]]
  
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['Name', 'Marks'])
  
# print dataframe.
df

输出:

Pandas - 合并两个具有不同列的数据框架

# initialize list of lists
data1 = [['Haseen', 88.00, 5], ['ramya', 54.00, 5], ['haritha', 56.34, 4]]
  
# Create the pandas DataFrame
df1 = pd.DataFrame(
    data1, columns=['Name', 'Marks', 'Total subjects registered'])
  
# print dataframe.
df1

输出:

Pandas - 合并两个具有不同列的数据框架

# concatenating data frame
pd.concat([df, df1], axis=0, ignore_index=True)

输出:

Pandas - 合并两个具有不同列的数据框架

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程