提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
在pandas中,iloc、loc和.columns是DataFrame和Series对象上非常常用的属性或方法,它们各自有不同的用途和用法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、.iloc用法
基于整数位置的索引器,主要用于通过整数位置来选择数据。它接受行和列的位置(基于0的索引)作为参数。如果只想选择行,可以省略列参数(默认为选择所有列);反之亦然。
(一)初始化
假设我们有一个 DataFrame data,其结构如下:
import pandas as pd
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
})
print(data)
输出
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
(二)使用步骤
1.选择单行
选择第一行(记住,Python 是从 0 开始计数的):
print(data.iloc[0])
输出:
A 1
B 5
C 9
Name: 0, dtype: int64
2.选择多行
选择第1行和第2行:
print(data.iloc[0:2])
输出:
A B C
0 1 5 9
1 2 6 10
选择前两行:
print(data.iloc[:2])
输出:
A B C
0 1 5 9
1 2 6 10
选择后两行:
print(data.iloc[-2:])
输出:
A B C
2 3 7 11
3 4 8 12
3.选择单列
选择第二列(列索引也是从 0 开始的):
print(data.iloc[:, 1])
输出:
0 5
1 6
2 7
3 8
Name: B, dtype: int64
4.选择多列
选择第2列和第3列:
print(data.iloc[:, 1:3])
输出:
B C
0 5 9
1 6 10
2 7 11
3 8 12
5.选择特定行或特定列
选择第3行和第3列:
print(data.iloc[1, 2])
输出:
10
二、.loc用法:
.loc 是基于标签的索引器,主要用于通过行标签和列标签来选择数据。它接受行标签和列标签作为参数。同样,如果只想选择行或列,可以省略相应的参数。
(一)初始化
假设我们有一个 DataFrame data,其结构如下:
import pandas as pd
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
})
print(data)
输出
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
(二)使用步骤
1.选择单行
选择第1行
print(data.loc[0])
output:
A 1
B 5
C 9
Name: 0, dtype: int64
2.选择多行
print(data.loc[0:2])
output:
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3.选择单列
print(data.loc[:]['A'])
output:
0 1
1 2
2 3
3 4
Name: A, dtype: int64
4.选择多列
print(data.loc[:][['A','B']])
output:
A B
0 1 5
1 2 6
2 3 7
3 4 8
5.选择特定行特定列
print(data.loc[0:2][['A','C']])
output:
A C
0 1 9
1 2 10
2 3 11
6.基于条件选择
value = data.loc[(data['A']>1) & (data['B']<8)]
print(value)
output:
A B C
1 2 6 10
2 3 7 11
三、.columns用法
.columns 是DataFrame的一个属性,用于获取或设置DataFrame的列标签。当你需要查看DataFrame的列标签时,可以直接访问.columns属性。如果你想修改列标签,也可以给它赋一个新的索引列表。
(一)初始化
假设我们有一个 DataFrame data,其结构如下:
import pandas as pd
data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
})
print(data)
输出
A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
(二)使用步骤
1.选择列名
print(data.columns)
output:
Index(['A', 'B', 'C'], dtype='object')
2.选择单列
print(data['B'])
output:
0 5
1 6
2 7
3 8
Name: B, dtype: int64
3.选择多列
print(data[['B','A']])
output:
B A
0 5 1
1 6 2
2 7 3
3 8 4
4.其他用法
arr = pd.DataFrame()
for i in data.columns:
value = data[i]+data[i].mean()
arr[i] = value
print(value)
print()
print(arr)
输出:
0 3.5
1 4.5
2 5.5
3 6.5
Name: A, dtype: float64
0 11.5
1 12.5
2 13.5
3 14.5
Name: B, dtype: float64
0 19.5
1 20.5
2 21.5
3 22.5
Name: C, dtype: float64
A B C
0 3.5 11.5 19.5
1 4.5 12.5 20.5
2 5.5 13.5 21.5
3 6.5 14.5 22.5
总结
.iloc 用于通过整数位置索引来选择数据。
.loc 用于通过标签索引来选择数据。
.columns 是DataFrame的一个属性,用于获取或设置列标签。