我有一个很大的excel文件,有数千行和大约100列。问题是,索引列包括大约50个指标(销售、房屋、人员)和70家公司。我真正想要的是有两个指标,一个是指标,一个是公司。以以下代码为例:
import pandas as pd
import numpy as np
idx=['Sales','Company 1', 'Company 2', 'Company 3','Houses','Company 1',
'Company 2', 'Company 3','People','Company 1', 'Company 2', 'Company 3']
dt=['2010','2011','2012','2013']
data = np.array([np.arange(12)]*4).T
df = pd.DataFrame(data, index=idx, columns=dt)
df.iloc[4,::]=0;df.iloc[8,::]=0
df
我的问题是如何操作数据框,以便第一个索引是Sales,Sales,Sales….而第二个索引是Company 1,Company 2,Company 3 for each metric(Sales,Houses等等)
设置
这个答案只是获取度量,找到公司,创建一个
MultiIndex
并重新分配。它基于一个假设:公司在每个指标之间的顺序相同:如果你不能保证这个约束,它会变得有点棘手:
相关问题 更多 >
编程相关推荐