【问题标题】:have columns of different size of Dataframe with multiIndex具有不同大小的 Dataframe 列与 multiIndex
【发布时间】:2020-06-21 13:59:55
【问题描述】:

我想要一个这样的数据框:

              a   b   c  
 ----- ----- --- --- --- 
  foo   one   1   2   0  
        two   2   2      
  bar   one   3   1   1  
        two   4   1  

['foo','bar'] 和 ['one','two'] 是索引。 c 列的大小与索引 ['foo','bar']

相同

或者只有这样的数据框才有可能

              a   b   c  
 ----- ----- --- --- --- 
  foo   one   1   2   0  
        two   2   2   0  
  bar   one   3   1   1  
        two   4   1   1  

【问题讨论】:

  • 对于 c 列,您可以接受 NaN 类型的空单元格还是希望它们保留一个空白字符串?

标签: pandas dataframe multi-index


【解决方案1】:

对于 c 列,如果您对 NaN 类型没问题,这应该可以工作。

import pandas as pd
import numpy as np

df_data = {'lvl0':['foo','foo','bar','bar'],
           'lvl1':['one','two','one','two'],
           'a':[1,2,3,4],
           'b':[2,2,1,1],
           'c':[0,np.nan,1,np.nan]}

df = pd.DataFrame(df_data)
df.set_index(['lvl0','lvl1'])

【讨论】:

  • 那么 [('foo','two'), 'c'] 的元素将是 nan,谢谢你,但这不是我需要的。
  • 我明白了。你想让 c 在索引中吗?
  • 是的,我已经考虑过了。但是如果 c 是具有 nan 数量的稀疏列怎么办,如果 c 是对象列怎么办。不知道还能不能用,不知道是否适合把c做为索引
猜你喜欢
  • 2022-10-18
  • 2021-03-12
  • 2016-12-18
  • 1970-01-01
  • 2014-05-25
  • 2021-05-29
  • 2011-10-02
  • 2018-10-15
  • 2020-11-25
相关资源
最近更新 更多