Pandas 多层级索引介绍

Pandas 多层级索引(MultiIndex)是 Pandas 中的一种用于表示高维数据的数据结构,它可以将数据表示为树形结构,允许用户以多种方式索引数据。Pandas 多层级索引的最大优势在于它可以更有效地表示复杂的数据结构,并可以更轻松地进行索引、选择和操作数据。

Pandas 多层级索引的使用

1、使用 Pandas 的 MultiIndex 函数创建多层索引:

import pandas as pd
index = pd.MultiIndex.from_arrays([['a', 'a', 'b', 'b'], [1, 2, 1, 2]])
columns = pd.MultiIndex.from_arrays([['x', 'y'], ['1', '2']])
df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], index=index, columns=columns)
Python

2、使用 Pandas 的 set_index 函数将单层索引转换为多层索引:

import pandas as pd
df = pd.DataFrame({'a':[1,2,3,4], 'b':[5,6,7,8], 'c':[9,10,11,12]})
df.set_index(['a','b'], inplace=True)
Python

3、使用 Pandas 的 reset_index 函数将多层索引转换为单层索引:

import pandas as pd
df = pd.DataFrame({'a':[1,2,3,4], 'b':[5,6,7,8], 'c':[9,10,11,12]})
df.set_index(['a','b'], inplace=True)
df.reset_index(inplace=True)
Python

4、使用 Pandas 的 sort_index 函数对多层索引进行排序:

import pandas as pd
df = pd.DataFrame({'a':[1,2,3,4], 'b':[5,6,7,8], 'c':[9,10,11,12]})
df.set_index(['a','b'], inplace=True)
df.sort_index(inplace=True)
Python