将大的Pandas数据框分割成小的数据框列表

将大的Pandas数据框分割成小的数据框列表

在这篇文章中,我们将学习如何将大数据框架分割成小数据框架的列表。这主要可以通过两种不同的方式完成。

1.通过拆分每一行
2.使用groupby的概念

在这里,我们使用一个小的数据框架来轻松地理解这个概念,这也可以用一种简单的方式来实现。这个数据框架包括学生的ID、姓名、分数和成绩。让我们来创建这个数据框架。

# importing packages
import pandas as pd
  
# dictionary of data
dct = {'ID': {0: 23, 1: 43, 2: 12,
              3: 13, 4: 67, 5: 89,
              6: 90, 7: 56, 8: 34},
         
       'Name': {0: 'Ram', 1: 'Deep',
                2: 'Yash', 3: 'Aman',
                4: 'Arjun', 5: 'Aditya',
                6: 'Divya', 7: 'Chalsea',
                8: 'Akash'},
         
       'Marks': {0: 89, 1: 97, 2: 45, 3: 78,
                 4: 56, 5: 76, 6: 100, 7: 87,
                 8: 81},
         
       'Grade': {0: 'B', 1: 'A', 2: 'F', 3: 'C',
                 4: 'E', 5: 'C', 6: 'A', 7: 'B',
                 8: 'B'}
       }
  
# create dataframe
df = pd.DataFrame(dct)
  
# view dataframe
df

输出:

将大的Pandas数据框分割成小的数据框列表

下面是上述概念的实现和一些例子。

例1:通过拆分每行

在这里,我们对每一行都使用迭代的循环。每一行都通过使用DataFrame.loc[]访问,并存储在一个列表中。这个列表是所需的输出,由小的DataFrame组成。在这个例子中,数据集(由9行数据组成)通过分割每一行被分成更小的数据帧,所以列表中创建了9个小的数据帧,如下图所示。

# split dataframe by row
splits = [df.loc[[i]] for i in df.index]
  
# view splitted dataframe
print(splits)
  
# check datatype of smaller dataframe
print(type(splits[0]))
  
# view smaller dataframe
print(splits[0])

输出:

将大的Pandas数据框分割成小的数据框列表

例子2:使用Groupby

在这里,我们使用DataFrame.groupby()方法将数据集按行分割。同样分组的行被作为一个单一的元素并存储在一个列表中。这个列表是所需的输出,由小的DataFrame组成。在这个例子中,数据集(由9行数据组成)被分为较小的数据帧,使用Groupby方法对 “Grade “列进行分组。这里,不同等级的总数是5,所以创建了5个小的数据框的列表,如下图所示。

# split dataframe using gropuby
splits = list(df.groupby("Grade"))
  
# view splitted dataframe
print(splits)
  
# check datatype of smaller dataframe
print(type(splits[0][1]))
  
# view smaller dataframe
print(splits[0][1])

输出:

将大的Pandas数据框分割成小的数据框列表

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程