df= pd.read_csv('data.csv')
data = df.loc[3:6] # 选取多行
# 按某列值在某个区间内选取行
data = df[(df['column'] >= t1) & (df['column'] <= t2)]
# 按索引选择行(选择idx这一行)
data.loc[[idx]] # 或者:data.loc[idx:idx]
# 按照指定列名选取(data为series类型)
data = df['column_name']
# 取多列(data为DataFrame类型)
data = df[['column_name1', 'column_name2']]
# 按位置取某几列(data为DataFrame类型)
data = df.iloc[:, 0:5]
# 取指定第2行第3列的元素
data = df.loc[2][3]
【注】使用loc、iloc选取数据后的数据类型均保持不变
loc 与 iloc 的区别
df.loc[行索引,列名] : loc函数是基于 行索引index 和 列名 进行索引的
df.loc[2:3] # 选取df中index等于2、3的行
df = df.loc[2:4,:] # 选取df中index等于2、3的行,所有列
df = df.loc[2:4, 'col_name1'] # 选取df中index等于2、3的行,'col_name1'列
df = df.loc[2:4,['col_name1', 'col_name2']] # 选取df中index等于2、3的行, 列名为'col_name1', 'col_name2'的列
df.iloc[行位置,列位置] : iloc函数是基于行和列的位置进行索引的,索引值从0开始,并且得到的结果不包括最后一个位置的值
df.iloc[2:4,1:3] # 选取df的第2、3行和第1、2列