Pandas中的索引都是 啥类的子类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas中的索引都是 啥类的子类相关的知识,希望对你有一定的参考价值。

参考技术A 无论哪种形式的索引,都是一个Index类的对象,Index是一个基类,他派生出了许多子类。 参考技术B numpy
pandas是建立在Numpy基础上的高效数据分析处理库,是Python的重要数据分析库。pandas提供了众多的高级函数,极大地简化了数据处理的流程,尤其是被广泛地应用于金融领域的数据分析。

重新索引系列返回 Pandas 中的 NaN

【中文标题】重新索引系列返回 Pandas 中的 NaN【英文标题】:Reindexing a series returns NaNs in Pandas 【发布时间】:2018-11-23 03:02:10 【问题描述】:

以下代码返回一个到处都是 NaN 的系列:

s = pd.Series([1, 2, 3, 4, 5, 6],
                 index=pd.MultiIndex.from_product([["A", "B"], ["c", "d", "e"]]))

s.reindex([('E', 'g'), ('E', 'h'), ('E', 'i'), ('F', 'g'), ('F', 'h'), ('F', 'i')])

s.reindex(pd.MultiIndex.from_product([['E', 'F'], ['g', 'h', 'i']]))

如何重新索引系列并保留原始值?

【问题讨论】:

【参考方案1】:

这不是reindex,就是改成index

s.index=pd.MultiIndex.from_product([['E', 'F'], ['g', 'h', 'i']])
s
Out[362]: 
E  g    1
   h    2
   i    3
F  g    4
   h    5
   i    6
dtype: int64

【讨论】:

是的,“reindex”的意思是“查找这些值”,而不是“替换索引”。【参考方案2】:

如果需要将新值设置为二级使用MultiIndex.set_levels:

s.index = s.index.set_levels(['g', 'h', 'i'], level=1)
print (s)
A  g    1
   h    2
   i    3
B  g    4
   h    5
   i    6
dtype: int64

【讨论】:

以上是关于Pandas中的索引都是 啥类的子类的主要内容,如果未能解决你的问题,请参考以下文章

宝藏级全网最全的Pandas详细教程(2万字总结)

宝藏级全网最全的Pandas详细教程(2万字总结)

struts2中的类型转换,自定义类型转换器需要继承啥类

Pandas中xs()函数索引复合索引数据的不同切面数据(索引复合索引中需要的数据):索引列复合索引中的一个切面索引行复合索引中的一个切面

pandas.DataFrame 索引方法区别

11、pandas的修改列名和索引rename()