import pandas as pd
df = pd.DataFrame(data=[[1,2,3,3],[2,3,4,5],[5,5,8,9]],index=[0,'c','可爱'],columns=['a','b','c','d'])
print(df)
print(df.loc[0])# loc索引行,label是整型数字
print(df.loc['c'])# loc索引行,label是字符型(loc索引行,label是整型数字或字符型都可)
print(df.loc['c':])# loc索引多行数据
print(df.loc[:, ['a', 'b']])# loc索引多列数据, df.loc[:,0:2]这么写报错, 因为loc索引的是label,显然在df1的列的名字中没有叫0,1和2的。
print(df1.loc[0:'可爱', ['a', 'b']])# locs索引某些行某些列
import pandas as pd
df = pd.DataFrame(data=[[1,2,3,3],[2,3,4,5],[5,5,8,9]],index=[0,'c','可爱'],columns=['a','b','c','d'])
print(df)
print(df.iloc[0])# iloc索引行,label是字符型。如果按照loc的写法来写应该是:df2.iloc['e'],显然这样报错,因为iloc不认识label,它是基于位置的。也就说,不论index是什么类型的,iloc只能写位置,也就是整型数字。
print(df.iloc[1:])# iloc索引多行数据
# iloc索引多列数据-- 如果如下写法,报错。 > print(df1.iloc[:, ['a', 'b']])
print(df.iloc[:, 0:2])# iloc索引多列数据, 正确写法如下:
print(df.iloc[0:2, 0:1])# iloc索引某些行某些列