创建多重索引
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
In [ 16 ]: df = pd.DataFrame(np.random.randn( 3 , 8 ), index = [ 'A' , 'B' , 'C' ], columns = index)
In [ 17 ]: df
Out[ 17 ]:
first bar baz foo qux \
second one two one two one two one
A 0.895717 0.805244 - 1.206412 2.565646 1.431256 1.340309 - 1.170299
B 0.410835 0.813850 0.132003 - 0.827317 - 0.076467 - 1.187678 1.130127
C - 1.413681 1.607920 1.024180 0.569605 0.875906 - 2.211372 0.974466
first
second two
A - 0.226169
B - 1.436737
C - 2.006747
|
获得索引信息
get_level_values
1
2
3
4
5
|
In [ 23 ]: index.get_level_values( 0 )
Out[ 23 ]: Index([ 'bar' , 'bar' , 'baz' , 'baz' , 'foo' , 'foo' , 'qux' , 'qux' ], dtype = 'object' , name = 'first' )
In [ 24 ]: index.get_level_values( 'second' )
Out[ 24 ]: Index([ 'one' , 'two' , 'one' , 'two' , 'one' , 'two' , 'one' , 'two' ], dtype = 'object' , name = 'second' )
|
基本索引
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
In [ 25 ]: df[ 'bar' ]
Out[ 25 ]:
second one two
A 0.895717 0.805244
B 0.410835 0.813850
C - 1.413681 1.607920
In [ 26 ]: df[ 'bar' , 'one' ]
Out[ 26 ]:
A 0.895717
B 0.410835
C - 1.413681
Name: (bar, one), dtype: float64
In [ 27 ]: df[ 'bar' ][ 'one' ]
Out[ 27 ]:
A 0.895717
B 0.410835
C - 1.413681
Name: one, dtype: float64
|
使用reindex对齐数据
数据准备
1
2
3
4
5
6
7
8
9
10
11
12
13
|
In [ 11 ]: s = pd.Series(np.random.randn( 8 ), index = arrays)
In [ 12 ]: s
Out[ 12 ]:
bar one - 0.861849
two - 2.104569
baz one - 0.494929
two 1.071804
foo one 0.721555
two - 0.706771
qux one - 1.039575
two 0.271860
dtype: float64
|
s序列加(0~-2)索引的值,因为s[:-2]没有最后两个的索引,所以为NaN.s[::2]意思是步长为1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
In [ 34 ]: s + s[: - 2 ]
Out[ 34 ]:
bar one - 1.723698
two - 4.209138
baz one - 0.989859
two 2.143608
foo one 1.443110
two - 1.413542
qux one NaN
two NaN
dtype: float64
In [ 35 ]: s + s[:: 2 ]
Out[ 35 ]:
bar one - 1.723698
two NaN
baz one - 0.989859
two NaN
foo one 1.443110
two NaN
qux one - 2.079150
two NaN
dtype: float64
|
以上这篇对Pandas MultiIndex(多重索引)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/claroja/article/details/72547815