datawhare pandas 学习打卡 03 索引
https://datawhalechina.github.io/joyful-pandas/build/html/目录/ch3.html
一、索引器
1.表的列索引
2.表(序列)的行索引
3.loc索引器
4.iloc索引器
5.query方法
6.随机抽样
1.表的列索引
获取单列:
① [列名] 来获取相应的列
import numpy as np
import pandas as pd
df = pd.read_csv('learn_pandas.csv',
usecols=['School','Grade','Name','Gender','Weight','Transfer'])
df['Name'].head()
② .列名取出,这和 [列名] 等价
df.Name.head()
获取多个列:
通过 [列名,列名,…] 来取得
df[['Gender','Name']].head()
2.表(序列)的行索引
以Series为例
1.以字符串为索引
取单个索引:
s = pd.Series([1,2,3,4,5,6],index=['a','b','a','a','a','c'])
s['a']
取多个索引:
s[['c','b']]
补:若想取出某两个索引之间的元素,并且这两个索引是在整个索引中唯一出现,则可以使用切片,同时注意这里切片会包含两个端点:
s['c':'b':-2]
s['c':'b':-3]
s['c':'b':-1]
‘c’与‘b’顺序颠倒,会出现神奇的现象:
注意:如果前后端点的值存在重复,不能直接跟上面一样操作,若想继续操作,可以先进行排序,然后可以通过切片来实现。
s.sort_index()['a':'b']
2.以整数为索引
和字符串类似,就是把字符串索引相应变成整数即可:
3.loc索引器
是一种基于元素的loc索引器
一般形式:loc[行选择,列选择] 若省略列选择,则只对行选择。其中,这里行选择可以表示:1.单个元素,2.元素列表,3.元素切片,4.布尔列表,5.函数。具体使用见:
https://datawhalechina.github.io/joyful-pandas/build/html/目录/ch3.html
4.iloc索引器
iloc的使用可以跟loc类比来学,只不过行选择,列选择通过整数位置来操作。
详细见:
https://datawhalechina.github.io/joyful-pandas/build/html/目录/ch3.html
5.query方法
把字符串形式的查询表达式传入query方法来查询数据。
df.query('((School == "Fudan University")&'
'(Grade == "Senior")&'
'(Weight > 70))|'
'((School == "Peking University")&'
'(Grade != "Senior")&'
'(Weight > 80))')
6.随机抽样
说到随机抽样,大家应该说想起sample函数,它主要有:n,axis,frac,replace,weights。分别表示为:抽样数量,抽样的方向(0为行,1为列),抽样比列,是否放回和每个样本的抽样相对概率。