【问题标题】:Data structure to provide to DataFrame with MultiIndex使用 MultiIndex 提供给 DataFrame 的数据结构
【发布时间】:2021-03-25 23:14:15
【问题描述】:

我添加了一些带有 MultiIndex 的标头,但提供给 DataFrame 的数据结构发生了变化。事实上,我曾经使用列表字典,但现在无法使用。

这是我的代码:

data_1 = {'a': ['d', 'd', 'd'], 
          'b': ['4', 'f', '4'], 
          'c': ['f', 't', 't'], 
          'd': ['38', 'B24t', 'dod']
}
col = pd.MultiIndex.from_arrays([['one', 'one', 'one', 'two'], 
                                 ['a', 'b', 'c', 'd']]
)
data = pd.DataFrame(data_1, columns=col)

但列的值为空:

这就是我想要做的:

【问题讨论】:

    标签: python pandas dataframe multi-index hierarchical-data


    【解决方案1】:

    set_axis

    通过尝试将col 对象传递给DataFrame 构造函数,Pandas 尝试将data_1keyscol 中的值对齐...但它没有对齐。所以你可以在事后set_axis

    data = pd.DataFrame(data_1).set_axis(col, axis=1)
    
    data
    
      one         two
        a  b  c     d
    0   d  4  f    38
    1   d  f  t  B24t
    2   d  4  t   dod
    

    或者,您可以在传递给构造函数的字典键中提供MultiIndex 信息。

    data_1 = {
        ('one', 'a'): ['d', 'd', 'd'],
        ('one', 'b'): ['4', 'f', '4'],
        ('one', 'c'): ['f', 't', 't'],
        ('two', 'd'): ['38', 'B24t', 'dod']
    }
    data = pd.DataFrame(data_1)
    
    data
    
      one         two
        a  b  c     d
    0   d  4  f    38
    1   d  f  t  B24t
    2   d  4  t   dod
    

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 1970-01-01
      • 2016-10-10
      • 2019-12-02
      • 2014-12-09
      • 2023-04-08
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多