重點:loc一般是索引標籤,iloc只能索引數字,而ix可以索引兩種類型:標籤和數字。
1. loc——通過行標籤索引行數據(loc會把:的最後一位也算進去)
1.1 loc[1]表示索引的是第1行(index 是整數)
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = [0,1]
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc[1]
-
''
-
-
-
-
1.2 loc[‘d’]表示索引的是第’d’行(index 是字符)
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc['d']
-
''
-
-
-
-
1.3 如果想索引列數據,像這樣做會報錯
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc['a']
-
''
-
-
1.4 loc可以獲取多行數據
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc['d':]
-
''
-
-
-
-
1.5 loc擴展——索引某行某列
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc['d',['b','c']]
-
''
-
-
-
1,6 loc擴展——索引某列
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc[:,['c']]
-
''
-
-
-
-
當然獲取某列數據最直接的方式是df.[列標籤],但是當列標籤未知時可以通過這種方式獲取列數據。
需要注意的是,dataframe的索引[1:3]是包含1,2,3的,與平時的不同。
2. iloc——通過行號獲取行數據
2.1 想要獲取哪一行就輸入該行數字
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.loc[1]
-
''
-
-
-
-
2.2 通過行標籤索引會報錯
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.iloc['a']
-
''
-
-
2.3 同樣通過行號可以索引多行
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.iloc[0:]
-
''
-
-
-
-
2.4 iloc索引列數據
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.iloc[:,[1]]
-
''
-
-
-
-
3. ix——結合前兩種的混合索引
3.1 通過行號索引
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.ix[1]
-
''
-
-
-
-
3.2 通過行標籤索引
-
import pandas as pd
-
data = [[1,2,3],[4,5,6]]
-
index = ['d','e']
-
columns=['a','b','c']
-
df = pd.DataFrame(data=data, index=index, columns=columns)
-
print df.ix['e']
-
''
-
-
-
-