pandasiloc与loc的用法与区别
iloc根据位置信息取索引,所以其参数必为int
loc根据索引名取索引
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.rand(25).reshape([5, 5]), index=['A','B','C','D','E'], columns=['c1', 'c2', 'c3', 'c4', 'c5'])
df2 = pd.DataFrame(np.random.rand(25).reshape([5, 5]), index=[1,2,3,4,5], columns=['c1', 'c2', 'c3', 'c4', 'c5'])
# print(df1)
# print(df1.index)
#iloc 根据位置排名取索引
res1 = df1.iloc[:3,:3]
print(res1)
# loc根据索引名、列名,取值
res2 = df1.loc[['A','B','C'],['c1', 'c2', 'c3']]
print(res2)
#iloc 根据位置排名取索引
res3 = df2.iloc[:3,:3]
print(res3)
# loc根据索引名,列名
res4 = df2.loc[[1,2,3],['c1', 'c2', 'c3']]
print(res4)
#res1、res2、res3、res4结果相同
网友评论