记录从准研一假期自学PYTHON的全过程day33

98 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情

也是暑假自学python的第33天

pandas索引

对于pandas的索引,可以在创建的时候进行指定索引的名字:

ser_obj = pd.Series(range(5), index = list("abcde"))
print(ser_obj)
ser_obj.index

对于取索引的值,可以使用两种不同的方法,第一种方法是直接按照索引的值来取,第二种方法是按照索引所对应的数来取:

print(ser_obj['b'])
print(ser_obj[2])

['b']表示取索引为b对应的值,[2]表示对应索引的位置,都可以用来取值:

image.png

pandas索引切片

对应索引同样可以使用切片,切片可以是连续也可以是不连续:

print(ser_obj[1:3])  #索引顺序是开区间
print(ser_obj['b':'d'])  #记住索引名是闭区间

对应的结果如下:

image.png

不连续索引:

print(ser_obj[[0, 2, 4]])
print(ser_obj[['a', 'e']])

输出的结果如下:

image.png

dataFrame索引
df_obj = pd.DataFrame(np.random.randn(5,4),
                      columns = ['a', 'b', 'c', 'd'])
print(df_obj.head())

创建一个dataFrame对象,取dataFrame索引:

print(df_obj['a'])         # 返回Series类型
print(df_obj[['a']])       # 返回DataFrame类型
print(type(df_obj[['a']])) # 返回DataFrame类型

如果是一个[],取出为series对象,如果为[[]],取出的则为DataFrame:

如果是[[]],可以取多个列,为DataFrame:print(df_obj[['a','b']])

如果是[],则为series对象

image.png

loc索引标签

Python官方建议使用loc来取索引:

学习loc索引标签,首先创建一个dataFrame对象:

df_obj = pd.DataFrame(np.random.randn(5,4),
                      columns = list('dcba'),
                      index=list('abcde'))
print(df_obj)

我们对其进行以下的操作:

print(df_obj['a'])  

取到了最后一列:'a'的数据:

image.png

如果进行如下操作:

print(df_obj.loc['a'])  #拿的是行

取到的为'a'对应的第一行,在取到之后由行变为了列:

image.png

取一个二维数组:

print(df_obj.loc['a':'c', 'd':'b'])

按照行:a-c,列:d-b来进行取值:

image.png

对于series来说:

print(ser_obj[1:3])
print(ser_obj.iloc[1:3])

image.png

注意为左闭右开!