携手创作,共同成长!这是我参与「掘金日新计划 · 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]表示对应索引的位置,都可以用来取值:
pandas索引切片
对应索引同样可以使用切片,切片可以是连续也可以是不连续:
print(ser_obj[1:3]) #索引顺序是开区间
print(ser_obj['b':'d']) #记住索引名是闭区间
对应的结果如下:
不连续索引:
print(ser_obj[[0, 2, 4]])
print(ser_obj[['a', 'e']])
输出的结果如下:
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对象
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'的数据:
如果进行如下操作:
print(df_obj.loc['a']) #拿的是行
取到的为'a'对应的第一行,在取到之后由行变为了列:
取一个二维数组:
print(df_obj.loc['a':'c', 'd':'b'])
按照行:a-c,列:d-b来进行取值:
对于series来说:
print(ser_obj[1:3])
print(ser_obj.iloc[1:3])
注意为左闭右开!