import pandas as pd
import numpy as np
# 形成dataframe数据
t1 = pd.DataFrame(np.arange(16).reshape(4, 4), index=list('abcd'), columns=list('wxyz'))
#
t1
loc
| w | x | y | z | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
| c | 8 | 9 | 10 | 11 |
| d | 12 | 13 | 14 | 15 |
# 搜索 索引是a的行
t1.loc["a"]
w 0
x 1
y 2
z 3
Name: a, dtype: int32
# 获取 索引是a到b的数据
t1.loc["a":"b"]
| w | x | y | z | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
# 获取 索引是a到d的数据,每间隔2个取数,所以取不到d行
t1.loc["a":"d":2]
| w | x | y | z | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| c | 8 | 9 | 10 | 11 |
# 获取 索引是a 列名是z的数据
t1.loc["a","z"]
3
# 获取 索引是a-c行数据,和x到z列的数据
t1.loc["a":"c","x":"z"]
| x | y | z | |
|---|---|---|---|
| a | 1 | 2 | 3 |
| b | 5 | 6 | 7 |
| c | 9 | 10 | 11 |
iloc
# 获取 行下标是0的数据
t1.iloc[0]
w 0
x 1
y 2
z 3
Name: a, dtype: int32
# 获取 第0-2行数据,不包含下标是2的数据,也就只能获取2行
t1.iloc[0:2]
| w | x | y | z | |
|---|---|---|---|---|
| a | 0 | 1 | 2 | 3 |
| b | 4 | 5 | 6 | 7 |
# 获取列下标是0的列数据
t1.iloc[:,0]
a 0
b 4
c 8
d 12
Name: w, dtype: int32
# 获取列名是 w的列数据
t1["w"]
a 0
b 4
c 8
d 12
Name: w, dtype: int32
# 获取列下标0-2列的数据
t1.iloc[:,0:2]
| w | x | |
|---|---|---|
| a | 0 | 1 |
| b | 4 | 5 |
| c | 8 | 9 |
| d | 12 | 13 |
# 获取 行下标是1-2, 列下标 0-2列的数据
t1.iloc[1:2:,0:2]
| w | x | |
|---|---|---|
| b | 4 | 5 |
filter
# 获取列名是x和y的列
t1.filter(items=["x", "y"])
| x | y | |
|---|---|---|
| a | 1 | 2 |
| b | 5 | 6 |
| c | 9 | 10 |
| d | 13 | 14 |
数据过滤
# 数据过滤, 以t1['w']列>5为条件,获取2行数据
t1[t1['w'] > 5]
| w | x | y | z | |
|---|---|---|---|---|
| c | 8 | 9 | 10 | 11 |
| d | 12 | 13 | 14 | 15 |
# 选择t1['w']>5的行,并只保留"x"和'z'两列
t1.loc[t1['w'] >= 5, ["x", 'z']]
| x | z | |
|---|---|---|
| c | 9 | 11 |
| d | 13 | 15 |

38万+

被折叠的 条评论
为什么被折叠?



