如何堆叠多个Pandas数据帧

如何堆叠多个Pandas数据帧

在这篇文章中,我们将看到如何堆叠多个pandas数据框架。堆叠意味着将数据框架的行追加到第二个数据框架,以此类推。如果有4个数据框架,那么堆叠后的结果将是一个单一的数据框架,顺序为dataframe1,dataframe2,dataframe3,dataframe4。

方法1:使用concat()方法

这个方法将按照pandas数据框给出的顺序来堆叠这些行。

语法 : pandas.concat([first_dataframe,second_dataframe,third_dataframe,………….,last_dataframe], ignore_index=True,axis)

参数:

  • dataframes是要被堆叠的输入数据帧
  • ignore_index是用来忽略输入数据帧的索引值。
  • axis=0指定垂直堆叠
  • axis=1指定水平堆叠

注意:如果ignore_index参数没有设置为true,那么它将采用给定的索引,导致数据帧的错误堆叠。

例子1 :Python程序垂直堆叠两个数据帧

# import pandas module
import pandas as pd
  
# create first dataframe
data1 = pd.DataFrame({'name': ['sravan', 'bobby',
                               'ojaswi', 'rohith', 
                               'gnanesh'],
                      'subjects': ['java', 'python',
                                   'php', 'java', '.NET']})
  
# create second dataframe
data2 = pd.DataFrame({'name': ['gopi', 'harsha', 'ravi',
                               'uma', 'deepika'],
                      'subjects': ['c/c++', 'html/css',
                                   'dbms', 'java', 'IOT']})
  
# stack the two DataFrames
pd.concat([data1, data2], ignore_index=True, axis=0)

输出 :

如何堆叠多个Pandas数据帧?

例子2: Python代码垂直堆叠多个数据帧

# import pandas module
import pandas as pd
  
# create first dataframe
data1 = pd.DataFrame({'name': ['sravan', 'bobby', 'ojaswi',
                               'rohith', 'gnanesh'],
                      'subjects': ['java', 'python', 'php',
                                   'java', '.NET']})
  
# create second dataframe
data2 = pd.DataFrame({'name': ['gopi', 'harsha', 'ravi',
                               'uma', 'deepika'], 
                      'subjects': ['c/c++', 'html/css',
                                   'dbms', 'java', 'IOT']})
  
# create third dataframe
data3 = pd.DataFrame(
    {'name': ['ragini', 'latha'], 'subjects': ['java', 'python']})
  
# create forth dataframe
data4 = pd.DataFrame(
    {'name': ['gowri', 'jyothika'], 'subjects': ['java', 'IOT']})
  
# stack the four DataFrames
pd.concat([data1, data2, data3, data4], ignore_index=True,axis=0)

输出 :

如何堆叠多个Pandas数据帧?

例子3:Python程序水平堆叠多个数据帧

# import pandas module
import pandas as pd
  
# create first dataframe
data1 = pd.DataFrame({'name': ['sravan', 'bobby', 'ojaswi', 
                               'rohith', 'gnanesh'], 
                      'subjects': ['java', 'python',
                                   'php', 'java', '.NET']})
  
# create second dataframe
data2 = pd.DataFrame({'name': ['gopi', 'harsha', 'ravi',
                               'uma', 'deepika'], 
                      'subjects': ['c/c++', 'html/css',
                                   'dbms', 'java', 'IOT']})
  
# create third dataframe
data3 = pd.DataFrame(
    {'name': ['ragini', 'latha'], 'subjects': ['java', 'python']})
  
# create forth dataframe
data4 = pd.DataFrame(
    {'name': ['gowri', 'jyothika'], 'subjects': ['java', 'IOT']})
  
# stack the four DataFrames horizontally
pd.concat([data1, data2, data3, data4], axis=1, ignore_index=True)

输出:

如何堆叠多个Pandas数据帧?

方法2:使用append()方法

append()方法用于在给定的数据框架之后追加数据框架。

语法 : first_dataframe.append([second_dataframe,…,last_dataframe],ignore_index=True)

例子1 :使用append()方法堆叠多个数据帧的Python程序

# import pandas module
import pandas as pd
  
# create first dataframe
data1 = pd.DataFrame({'name': ['sravan', 'bobby', 'ojaswi',
                               'rohith', 'gnanesh'],
                      'subjects': ['java', 'python', 'php',
                                   'java', '.NET']})
  
# create second dataframe
data2 = pd.DataFrame({'name': ['gopi', 'harsha', 'ravi',
                               'uma', 'deepika'],
                      'subjects': [ 'c/c++', 'html/css',
                                   'dbms', 'java', 'IOT']})
  
# create third dataframe
data3 = pd.DataFrame(
    {'name': ['ragini', 'latha'], 'subjects': ['java', 'python']})
  
# create forth dataframe
data4 = pd.DataFrame(
    {'name': ['gowri', 'jyothika'], 'subjects': ['java', 'IOT']})
  
# stack the four DataFrames using append()
data1.append([data2, data3, data4], ignore_index=True)

输出 :

如何堆叠多个Pandas数据帧?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程