Pandas中iloc、loc、ix三者的区别

2019-03-01  本文已影响4人  CurryCoder

一、综述:iloc、loc、ix可以用来索引数据、抽取数据

二、iloc、loc、ix三者对比

a = np.arange(12).reshape(3, 4)
print("a: \n", a)

df = pd.DataFrame(a)
print("df: \n", df)

print("df.loc[0]: \n", df.loc[0])
print("df.iloc[0]: \n", df.iloc[0])

print("df.loc[:,[0,3]]: \n", df.loc[:, [0, 3]])
print("df.iloc[:, [0,3]]: \n", df.iloc[:, [0, 3]])
df.index = ['a', 'b', 'c']
print("df: \n", df)

# print(df.loc[0])  报错!TypeError: cannot do label indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [0] of <class 'int'>
print("df.iloc[0]: \n", df.iloc[0])


print("df.loc['a']: \n", df.loc['a'])
# print("df.iloc['a']: \n", df.iloc['a']) 报错!
df.columns = ['A', 'B', 'C']
print("df: \n", df)

print("df.loc[:, 'A']: \n", df.loc[:, 'A'])
# print("df.iloc[:, 'A']: \n", df.iloc[:, 'A'])  报错!
print("df.ix[0]: \n", df.ix[0])
print("df.ix['a']: \n", df.ix['a'])
print("df.ix[:, 0]: \n", df.ix[:, 0])
print("df.ix[:, 'A']: \n", df.ix[:, 'A'])

三、参考博客

CSDN博客链接

上一篇 下一篇

猜你喜欢

热点阅读