pandas - 如何在熊猫中创建多索引数据框?
解决方案
第一个选项
一种可能的解决方案是从 tuples创建 MultiIndex :
从定义源元组开始:
tpl = [('', 'Material'), ('', 'Brand'),
('abcd.com', 'Stock'), ('abcd.com', 'Sales'), ('abcd.com', 'Leftover'),
('xyz.com', 'Stock'), ('xyz.com', 'Sales'), ('xyz.com', 'Leftover')]
每个元组在连续级别包含相应的列名。
然后创建多索引:
cols = pd.MultiIndex.from_tuples(tpl)
现在你可以创建你的DataFrame,调用例如:
df = pd.DataFrame(<your_data>, columns=cols)
另外的选择
第二种选择是从数组创建 MultiIndex :
源数据实际上是一个列表,其中包含每个级别的列名(也是列表):
arr = [[ '', '', 'abcd.com', 'abcd.com', 'abcd.com', 'xyz.com', 'xyz.com', 'xyz.com' ],
[ 'Material', 'Brand', 'Stock', 'Sales', 'Leftover', 'Stock', 'Sales', 'Leftover']]
然后,要创建 MultiIndex,请调用:
ind = pd.MultiIndex.from_arrays(arr)
推荐阅读
- ios - 故事板属性是 UIViewController 的属性吗?
- java - 在生成预签名 S3 URL 时如何使用 AWS Signature v4?
- c++ - 在声明后定义一个枚举变量
- c++ - 如何将 back_inserter 与转换相结合,C++
- operators - 相同类型的两个对象的未定义关系运算符 - VHDL
- javascript - 遍历 Json 数据并在 EJS 中打印
- python - Kivy Screenmanager 问题 -
- javascript - Javascript - 遍历和数组,并重新排序其元素
- python - 训练神经网络损失不减少
- validation - 评论表单浏览器验证