如何找到Pandas数据框架的横截面

如何找到Pandas数据框架的横截面

有时我们需要找到pandas系列或数据框架的横截面。这里的横截面是指获得指定索引的值、多个索引的值、多个索引和层次的值或指定列和axis的值等。有一个被称为pandas.DataFrame.xs()的函数可以帮助解决这个问题。

pandas.DataFrame.xs()需要一个关键参数,以便在MultiIndex中选择特定级别的数据,并返回pandas数据框架的截面。

语法: DataFrame.xs(key, axis=0, level=None, drop_level=True)

参数:
key – 标签包含在索引中,或部分包含在多索引中。
axis-axis来检索横截面。
level – 如果一个密钥部分包含在一个多重索引中,请指出哪些级别被使用。
drop_level – 如果是假的,返回一个与自己相同级别的对象。

返回值:
原始数据框架的横截面

下面是pandas的代码,这将有助于正确理解pandas.DataFrame.xs()函数。

# importing pandas library
import pandas as pd
  
# Creating a Dictionary
animal_dict = {'num_of_legs': [4, 0, 4, 2, 2, 2],
                 
               'num_of_wings': [0, 0, 0, 2, 2, 2],
                 
               'class': ['Reptiles', 'Reptiles', 'Reptiles',
                         'Birds', 'Birds', 'Birds'],
                 
               'animal': ['Turtle', 'Snake', 'Crocodile',
                          'Parrot', 'Owl', 'Hummingbird'],
                 
               'locomotion': ['swim_walk', 'swim_crawl', 'swim_walk', 
                              'flies', 'flies', 'flies']}
  
# Converting to Data frame and setting index
df = pd.DataFrame(data=animal_dict)
df = df.set_index(['class', 'animal', 'locomotion'])
  
# Displaying Data frame
df

输出:

如何找到Pandas数据框架的横截面?

例子1:获取特定索引的值

# Using dataframe.xs() function
# to get values of a specific index 
df.xs('Reptiles')

输出:

如何找到Pandas数据框架的横截面?

例子2:获得几个索引的值

# Using dataframe.xs() function
# to get values at several indexes 
df.xs(('Birds', 'Parrot'))

输出:

如何找到Pandas数据框架的横截面?

例子3:获得指定索引和级别的值

# Using dataframe.xs() function
# to get values at specified index
# and level
df.xs('Crocodile', level = 1)

输出:

如何找到Pandas数据框架的横截面?

例子4:获得几个指数和级别的值

# Using dataframe.xs() function
# to get values at several indexes
# and levels
df.xs(('Birds', 'flies'),
      level=[0, 'locomotion'])

输出:

如何找到Pandas数据框架的横截面?

例子5:获得指定列和axis的数值

# Using dataframe.xs() function
# to get values at specified column
# and axis
df.xs('num_of_wings', axis=1)

输出:

如何找到Pandas数据框架的横截面?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程