索引和切片

Series

Series
import numpy as np
import pandas as pd
s = pd.Series([1,2,3,4],index=list('abcd'))
#获取
data = s['b']#显式索引
print(data)
data = s[1]#隐式索引
print(data)
#切片
data = s['b':'d']#显式索引
print(data)
data = s[1:3]#隐式索引
print(data)
#过滤
data = s[s>2]
print(data)

dataframe

  DataFrame
import numpy as np
import pandas as pd
s = np.arange(12).reshape(3,4)
s = pd.DataFrame(s, index = list('abc'), columns=list('ABCD'))
print(s)
print('-'*50)
#显示索引选取一行
data = s.loc['a']
print(data)
#显示索引选取一列
data = s.loc[:,'A']
print(data)
#显示奇数行偶数列
data = s.loc['a':'c':2, 'B':'D':2]
print(data)
#显示制定行制定列
data = s.loc[['a','b'],['A','C']]
print(data)

隐式索引是从0到length-1的数字,
  是左闭右开的。
显式索引是自己设置的,
  如果显示索引是数字,那就是左闭右开的
  如果显示索引为字母,那就是左闭右闭的。
我们默认的使用的是显示索引,如果显式索引使用的是字符,我们用数字进行索引这才是隐式索引。
如果显示索引和隐式索引有冲突
  比如说显示为[1,2,3,4]隐式为[0,1,2,3]
  那么,我们默认的使用的是显示索引。
  为了程序易读。s.loc[]表示显式索引。s.iloc[]表示隐示索引

显示索引并且是字符的情况下,是左闭右闭的。
dataframe:索引行是高纬度
s[2]选的是第2行
但是dataframe构成的时候二维度的东西,高纬度的是列名。

原文地址:https://www.cnblogs.com/yunshangyue71/p/13584327.html