Pandas DataFrame 中的索引的使用总结如下:
import numpy as np
import pandas as pd
ind2= pd. MultiIndex. from_tuples( [ ( 'L' , 'A' ) , ( 'L' , 'B' ) , ( 'R' , 'C' ) , ( 'R' , 'D' ) , ( 'R' , 'E' ) ] )
c= pd. DataFrame( [ [ 23 , 35 , 18 , np. nan, np. nan] , [ 17 , 19 , np. nan, 6 , 2 ] ] , index= [ 2 , 3 ] , columns= ind2)
c
L R A B C D E 2 23 35 18.0 NaN NaN 3 17 19 NaN 6.0 2.0
c[ 'L' ] , c[ 'L' , 'A' ] , c[ 'L' ] [ 'A' ]
( A B
2 23 35
3 17 19,
2 23
3 17
Name: (L, A), dtype: int64,
2 23
3 17
Name: A, dtype: int64)
c. loc[ 2 ]
L A 23.0
B 35.0
R C 18.0
D NaN
E NaN
Name: 2, dtype: float64
c. loc[ 2 : 3 ]
L R A B C D E 2 23 35 18.0 NaN NaN 3 17 19 NaN 6.0 2.0
c. loc[ 2 ] [ 'L' , 'A' ] , c. loc[ 2 ] [ 'L' ] [ 'A' ] , c. loc[ 2 , ( 'L' , 'A' ) ]
(23.0, 23.0, 23.0)
c[ c> 15 ] . fillna( 0 )
L R A B C D E 2 23 35 18.0 0.0 0.0 3 17 19 0.0 0.0 0.0
c. sort_index( )
L R A B C D E 2 23 35 18.0 NaN NaN 3 17 19 NaN 6.0 2.0
c. loc[ 2 ] [ 'R' ] [ 'C' : 'D' ] ,
(C 18.0
D NaN
Name: 2, dtype: float64,)
c. loc[ [ 2 , 3 ] , 'R' ]
c. loc[ : ] [ [ ( 'L' , 'A' ) ] ] , c. loc[ : ] [ 'L' , 'A' ]
( L
A
2 23
3 17,
2 23
3 17
Name: (L, A), dtype: int64)
c
L R A B C D E 2 23 35 18.0 NaN NaN 3 17 19 NaN 6.0 2.0
c. xs( 'L' , axis= 1 )
c. xs( 'A' , axis= 1 , level= 1 , )
如果要获取特定行特定列,可能需要用到split将其分开。DataFrame.loc()似乎是不行的。????