pandas的索引操作(针对DataFrame)以及drop的用法

1,标签索引:

  • 取连续多行:
    df1.loc[ 0:2 ]
  • 取连续多列:
    df1.loc[ : ,’ a ‘:’ c ’ ]
  • 取不连续多行
    df1.loc[ [ 0,2 ] ]
  • 取不连续多列
    df1.loc[ : , [’ a ', ’ c ’ ] ]
  • 取出不连续的多行多列
    df1.loc[ [0,2],[’ a ', ’ c ’ ] ]
  • 布尔索引
    df1.loc[ df1[ ’ c ’ ]>0.25 ]

2,位置索引:
loc和iloc的区别:loc是基于索引的,iloc是基于下标位置的,所以loc包含结束位置,iloc不包含结束位置

  • Series的位置索引:
    ser1.iloc[1:3]
  • DataFrame的位置索引:
    df1.iloc[ : , 1 ]

df1 = pandas.DataFrame(
    {
    
    
        'name' :['python','Java','C','C++'],
        'class':['简单','简单','中等','很难' ],
        '掌握的程度':['基本','基本','还可以','还可以'],
        '打分':[70,70,100,90]
    },index=['a','b','c','d']
)
print(df1)

print(df1.iloc[0])
print('--------------------->')
print(df1.loc['a'])

3,删除:

  • drop:
df1.drop('a')
print(df1)
df1.drop('a',inplace=False)
print(df1)
df1.drop('a',inplace=True)
print(df1)

运行结果:
在这里插入图片描述
inplace 是指定是否在原始数据上进行操作

df1.drop('class',axis = 1)
#axis默认值为0,指的是行,axis = 1 时指的是列

猜你喜欢

转载自blog.csdn.net/qq_43964318/article/details/112788332