将两个维度结合到一个维度实现降维
# 将两个维度结合到一个维度实现降维
cols = pd.MultiIndex.from_tuples([("a", "b"), ("a", "c"),("d", "b"), ("d", "c")])
df = pd.DataFrame([[1,2,5,6], [3,4,7,8], [5,3,9,1]], columns=cols)
print(df)
df.columns = ['_'.join(col) for col in df.columns]
print(df)
droplevel降维
import pandas as pd
import numpy as np
cols = pd.MultiIndex.from_tuples(
[("a", "b"), ("a", "c"),("d", "b"), ("d", "c")]
, names=['c1', 'c2'])
df = pd.DataFrame([[1,2,5,6], [3,4,7,8], [5,3,9,1]]
, columns=cols).set_index([[0,0,1],['b', 'c', 'b']]).rename_axis(['i1', 'i2'])
print('原数据')
print(df)
print('删除1级索引列')
print(df.droplevel('c1', axis=1))
print('删除2级索引列')
print(df.droplevel('c2', axis=1))
print('删除1级索引行')
print(df.droplevel('i1', axis=0))
print('删除1级索引行')
print(df.droplevel('i2', axis=0))
https://www.cjavapy.com/article/433/