pandas获取单元格的值
在使用pandas操作数据时,有时候我们需要获取DataFrame中某个特定单元格的值,本文将详细介绍如何使用pandas获取单元格的值。
1. 使用iloc方法
iloc是pandas中用于通过整数位置获取单元格值的方法。具体用法是通过指定行号和列号来获取对应单元格的数值。例如,我们有一个DataFrame df:
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data)
print(df)
输出如下:
A B
0 1 a
1 2 b
2 3 c
3 4 d
4 5 e
如果我们想获取第2行第1列的数值,可以使用iloc方法:
value = df.iloc[1, 0]
print(value)
输出为:
2
2. 使用at方法
at方法用于通过行标签和列标签获取单元格的值。和iloc方法不同的是,at方法只能获取单个单元格的值,不能获取多个值。例如,我们有一个DataFrame df:
data = {'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data, index=['aa', 'bb', 'cc', 'dd', 'ee'])
print(df)
输出如下:
A B
aa 1 a
bb 2 b
cc 3 c
dd 4 d
ee 5 e
如果我们想获取标签为’bb’的行和标签为’B’的列的值,可以使用at方法:
value = df.at['bb', 'B']
print(value)
输出为:
b
3. 使用loc方法
loc方法和iloc方法类似,但是可以通过标签获取单元格的值。同样,我们还是以一个示例DataFrame df为例:
data = {'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data, index=['aa', 'bb', 'cc', 'dd', 'ee'])
print(df)
输出如下:
A B
aa 1 a
bb 2 b
cc 3 c
dd 4 d
ee 5 e
如果我们想获取标签为’cc’的行和标签为’A’的列的值,可以使用loc方法:
value = df.loc['cc', 'A']
print(value)
输出为:
3
通过以上介绍,可以看出pandas提供了多种方法来获取DataFrame中单元格的值,开发者可以根据具体需求选择合适的方法来实现。