整理得最全的提取Series或DataFrame数据的公式。
提取单个元素
基于位置提取数据
s[index]
s.iat[index]
df.iat[row_index, col_index]
基于 label 提取数据
s[label]
s.at[label]
df.at[row_label, col_label]
提取多个元素
对于 Series
基于位置提取
s[a:b]
s[[a,b,c]]
s.iloc[a:b]
s.iloc[[a,b,c]]
基于标签提取
s[label1:labeln]
s[[label1, label2, label3]]
s.loc[label1:labeln]
s.loc[[label1, label2, label3]]
对于 DataFrame
基于位置
行列 | 中括号 | iloc |
---|---|---|
单行 | df[a:a+1] | df.iloc[a]等价于df.iloc[a,:]、df.iloc[[a]]等价于df.iloc[[a],:] |
多行 | df[a:b] | df.iloc[a:b]等价于df.iloc[a:b,:]、df.iloc[[a,b,c]]等价于df.iloc[[a,b,c],:] |
单列 | - | df.iloc[:,a]、df.iloc[:,[a]] (:不能省略) |
多列 | - | df.iloc[:,a:b]、df.iloc[:,[a,b,d]] |
行列 | - | df.iloc[a:b,n:m]、df.iloc[[a,b,c],[n,m]] |
基于标签
行列 | 中括号 | loc |
---|---|---|
单行 | - | df.loc[label]、df.loc[[label]] |
多行 | - | df.loc[lable1:lable3]、df.loc[[lable1,lable2,…]] |
单列 | df[clo1]、df[[col1]] | df.loc[:,col]、df.loc[:,[col]] (:不能省略) |
多列 | df[[clo1,col2]] | df.loc[:,[col1,col2]] 、df.loc[:,col1:col4]] |
行列 | - | df.loc[lable1:lable3,col1:col4]]、df.loc[[lable1,lable2,…],[clo1,col2] |