前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas-13.索引

Pandas-13.索引

作者头像
悠扬前奏
发布2019-05-29 17:16:52
3600
发布2019-05-29 17:16:52
举报
文章被收录于专栏:悠扬前奏的博客

Pandas-13.索引

索引运算符[]和属性运算符.可用的。

另外支持三种多轴索引: .ix()已废弃

索引运算符

对象

索引

描述

Series

s[index]

标量值

DataFrame

df[row_index, column_index]

标量对象

Panel

p[item_index, major_index, minor_index]

p.loc[item_index,major_index, minor_index]

读取第A列:

代码语言:javascript
复制
df["A"]
'''
a    0.719258
b   -0.208437
c    0.342373
d    0.611385
e    1.047590
f   -1.320031
g   -1.058925
h    0.612909
Name: A, dtype: float64
'''

读取A列和B列:

代码语言:javascript
复制
df[["A","B"]]
'''

A   B
a   0.719258    0.112746
b   -0.208437   -0.101491
c   0.342373    0.645278
d   0.611385    0.356161
e   1.047590    1.335831
f   -1.320031   0.389550
g   -1.058925   2.609217
h   0.612909    1.211782
'''

读取第1行到第2行:

代码语言:javascript
复制
df[1:3]
'''
A   B   C   D
b   -0.208437   -0.101491   -0.209050   0.778529
c   0.342373    0.645278    -1.393827   -0.333414
'''

属性访问

读取A列:

代码语言:javascript
复制
df.A
'''
a    0.719258
b   -0.208437
c    0.342373
d    0.611385
e    1.047590
f   -1.320031
g   -1.058925
h    0.612909
Name: A, dtype: float64
'''

.loc()

  • 读取标签索引
  • 有多种访问方式:
    • 单个标签变量
    • 标签列表
    • 切片对象
    • 布尔数组
  • 需要两个单/列表/范围运算符,用,分隔,第一个表示行,第二个表示列

以如下代码作为例子:

代码语言:javascript
复制
df = pd.DataFrame(np.random.randn(8, 4),
index = ['a','b','c','d','e','f','g','h'], columns = ['A', 'B', 'C', 'D'])
'''

A   B   C   D
a   0.719258    0.112746    -0.263007   -1.076173
b   -0.208437   -0.101491   -0.209050   0.778529
c   0.342373    0.645278    -1.393827   -0.333414
d   0.611385    0.356161    -0.763404   0.716249
e   1.047590    1.335831    1.321423    0.782312
f   -1.320031   0.389550    0.706397    -0.603735
g   -1.058925   2.609217    1.963623    1.538507
h   0.612909    1.211782    0.750815    -0.950348
'''

读取A列:

代码语言:javascript
复制
df.loc[:, "A"]
'''
a    0.719258
b   -0.208437
c    0.342373
d    0.611385
e    1.047590
f   -1.320031
g   -1.058925
h    0.612909
Name: A, dtype: float64
'''

读取A列和C列:

代码语言:javascript
复制
df.loc[:, ["A","C"]]
'''
A   C
a   0.719258    -0.263007
b   -0.208437   -0.209050
c   0.342373    -1.393827
d   0.611385    -0.763404
e   1.047590    1.321423
f   -1.320031   0.706397
g   -1.058925   1.963623
h   0.612909    0.750815
'''

读取a行到c行:

代码语言:javascript
复制
print (df.loc['a':'c'])
'''
          A         B         C         D
a  0.719258  0.112746 -0.263007 -1.076173
b -0.208437 -0.101491 -0.209050  0.778529
c  0.342373  0.645278 -1.393827 -0.333414
'''

返回a行是否大于0:

代码语言:javascript
复制
print (df.loc['a']>0)
'''
A     True
B     True
C    False
D    False
Name: a, dtype: bool
'''

.iloc()

  • 读取数字索引
  • 第一个位置索引是0
  • 有以下访问方式:
    • 整数
    • 整数列表(左闭右开)
    • Series值

读取前四行:

代码语言:javascript
复制
print (df.iloc[:4])
'''
          A         B         C         D
a  0.719258  0.112746 -0.263007 -1.076173
b -0.208437 -0.101491 -0.209050  0.778529
c  0.342373  0.645278 -1.393827 -0.333414
d  0.611385  0.356161 -0.763404  0.716249
'''

读取第2到第4行,第3到第4列:

代码语言:javascript
复制
print (df.iloc[1:5, 2:4])
'''
          C         D
b -0.209050  0.778529
c -1.393827 -0.333414
d -0.763404  0.716249
e  1.321423  0.782312
'''

读取第2到第3列:

代码语言:javascript
复制
print (df.iloc[:, 1:3])
'''
          C         D
a -0.263007 -1.076173
b -0.209050  0.778529
c -1.393827 -0.333414
d -0.763404  0.716249
e  1.321423  0.782312
f  0.706397 -0.603735
g  1.963623  1.538507
h  0.750815 -0.950348
'''
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pandas-13.索引
    • 索引运算符
      • 属性访问
        • .loc()
          • .iloc()
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档