Pandas中的分层数据

Pandas中的分层数据

在pandas中,我们可以从现有的数据框架中安排数据。例如,我们有相同的名字和不同的特征,我们可以只写一次,而不是一直写这个名字。我们可以使用pandas从现有的数据框架中创建层次化的数据。

示例:

请看学生的科目详情。在这里,我们可以看到学生的名字总是重复的。

Pandas中的分层数据

有了这个,我们需要内存来存储多个名字。我们可以通过使用数据层次结构来减少这一点。

Pandas中的分层数据

示例:

# import pandas  module for data frame
import pandas as pd
  
# Create dataframe for student data in different colleges
subjectsdata = {'Name': ['sravan', 'sravan', 'sravan', 'sravan', 
                         'sravan', 'sravan', 'sravan', 'sravan', 
                         'Ojaswi', 'Ojaswi', 'Ojaswi', 'Ojaswi', 
                         'Ojaswi', 'Ojaswi', 'Ojaswi', 'Ojaswi',
                         'Rohith', 'Rohith', 'Rohith', 'Rohith',
                         'Rohith', 'Rohith', 'Rohith', 'Rohith'],
                  
                'college': ['VFSTRU', 'VFSTRU', 'VFSTRU', 'VFSTRU',
                            'VFSTRU', 'VFSTRU', 'VFSTRU', 'VFSTRU',
                            'VIT', 'VIT', 'VIT', 'VIT', 'VIT', 'VIT',
                            'VIT', 'VIT', 'IIT-Bhu', 'IIT-Bhu', 'IIT-Bhu', 
                            'IIT-Bhu', 'IIT-Bhu', 'IIT-Bhu', 'IIT-Bhu',
                            'IIT-Bhu'],
                  
                'subject': ['java', 'dbms', 'dms', 'coa', 'python', 'dld',
                            'android', 'iot', 'java', 'dbms', 'dms', 'coa',
                            'python', 'dld', 'android', 'iot', 'java',
                            'dbms', 'dms', 'coa', 'python', 'dld', 'android',
                            'iot']
                }
  
# Convert into data frame
df = pd.DataFrame(subjectsdata)
  
# print the data(student records)
print(df)

输出:

Pandas中的分层数据
Pandas中的分层数据
Pandas中的分层数据

# Set the hierarchical index
df = df.set_index(['Name', 'college'], drop=False)
  
# print data frame
df

输出:

Pandas中的分层数据
Pandas中的分层数据
Pandas中的分层数据

下一步是删除该名称。

# setting index
df = df.set_index(['Name', 'college'])
  
# print data frame
df

输出:

Pandas中的分层数据
Pandas中的分层数据
Pandas中的分层数据

现在用交换水平得到大学作为指数。

# Swap the levels in the index
df.swaplevel('Name', 'college')

输出:

Pandas中的分层数据
Pandas中的分层数据
Pandas中的分层数据

现在给大家总结一下结果

# Summarize the results by college
df.sum(level='college')

输出:

Pandas中的分层数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程