loc:通過行標簽索引數據
iloc:通過行號索引行數據
ix:通過行標簽或行號索引數據(基於loc和iloc的混合)
代碼:
import pandas as pd data = [[1, 2, 3], [4, 5, 6]] index = ['a', 'b'] column = ['left', 'center', 'right'] table = pd.DataFrame(data=data, index=index, columns=column) print(table) print("----------" + "loc()" + "------------") print(table.loc['a']) # 獲取行標簽是"a"的一行數據 print("----------" + "iloc()" + "------------") print(table.iloc[0]) # 獲取索引值為"0"的一行數據 print("----------" + "ix()" + "------------") print(table.ix[0]) # 無論輸入的是"a"還是"0"都是獲取第一行的數據 print("----------" + "ix()" + "------------") print(table.ix['a'])
結果:
/usr/local/bin/python3.7 /Users/xiaolata/PycharmProjects/Qlearning/pand_test/panda02.py left center right a 1 2 3 b 4 5 6 ----------loc()------------ left 1 center 2 right 3 Name: a, dtype: int64 ----------iloc()------------ left 1 center 2 right 3 Name: a, dtype: int64 ----------ix()------------ left 1 center 2 right 3 Name: a, dtype: int64 ----------ix()------------ left 1 center 2 right 3 Name: a, dtype: int64
分析:
loc()是根據table的行標簽獲取一行數據
iloc()是根據table的行索引獲取一行數據
ix()是根據table的行標簽或者行索引獲取一行數據,使用該方法輸入行標簽或者行索引都是可以的。