dataframe选取特定行和列

dataframe选取特定行和列

  1. 选取行
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] 
  1. 选取列
# 按照指定列名选取(data为series类型)
data = df['column_name']
 # 取多列(data为DataFrame类型)
data = df[['column_name1', 'column_name2']] 
 # 按位置取某几列(data为DataFrame类型)
data = df.iloc[:, 0:5] 
  1. 取指定某行某列的元素
# 取指定第2行第3列的元素
data = df.loc[2][3]

【注】使用loc、iloc选取数据后的数据类型均保持不变

  1. 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列
    

你可能感兴趣的:(数据处理,python,大数据,数据挖掘)