pandas基础,索引方式,搜索,无基础看完包学会

pandas基础,索引方式,搜索,无基础看完包学会

pandas 两种索引方式

方式

含义

语法

示例

标签索引

按行名/列名(标签)取

.loc[]

df.loc['行名', '列名']

绝对位置

按第几行/第几列(从0开始)

.iloc[]

df.iloc[0, 1]

对比

python import pandas as pd df = pd.DataFrame({'A': [10,20,30], 'B': [40,50,60]}, index=['x','y','z']) # 标签索引(用名字) df.loc['x', 'A'] # → 10 # 绝对位置(用数字,0开始) df.iloc[0, 0] # → 10

记忆口诀

  • loclabel(标签)
  • ilocinteger location(整数位置)

1. 通过字典创建 Series

python import pandas as pd data = {'a': 1, 'b': 2, 'c': 3} s = pd.Series(data)

结果:

a 1 b 2 c 3 dtype: int64

2. 通过标量创建 Series(单个值 + 指定索引)

python s = pd.Series(5, index=['a', 'b', 'c'])

结果:

a 5 b 5 c 5 dtype: int64

区别

方式

数据来源

索引

字典

键自动成为索引

字典的 key

标量

单个值重复填充

需手动指定 index

访问 Series

python import pandas as pd s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])

方式

语法

示例

结果

标签

s[标签]

s['a']

10

位置

s.iloc[数字]

s.iloc[0]

10

标签显式

s.loc[标签]

s.loc['a']

10

切片(标签)

s[start:end]

s['a':'c']

a:10, b:20, c:30

切片(位置)

s.iloc[start:end]

s.iloc[1:3]

b:20, c:30

布尔筛选

s[条件]

s[s > 20]

c:30, d:40

多个标签

s[[标签列表]]

s[['a', 'c']]

a:10, c:30


最常用的三种

python s['a'] # 标签访问,最简单 s.iloc[0] # 位置访问,从0开始 s.loc['a'] # 标签访问,显式写法

s['a']本质上等价于s.loc['a'],但iloc必须用数字。