如何使用 .at 属性访问 pandas Data Frame 中的单个值?

pandasserver side programmingprogramming更新于 2025/5/20 9:52:17

pandas DataFrame.at 属性用于使用行和列标签访问单个值。“at” 属性采用行和列标签数据来从给定 DataFrame 对象的指定标签位置获取元素。

它将根据行和列标签返回单个值,我们也可以上传该特定位置的值。

如果 DataFrame 中没有指定的标签,.at 属性将引发 KeyError。

示例 1

在下面的示例中,我们使用 Python 字典创建了一个 Pandas DataFrame。列名使用字典中的键进行标记,索引是从 0 到 n-1 的自动生成值。

# 导入 pandas 包
import pandas as pd

# 创建 Pandas DataFrame
df = pd.DataFrame({'A':[1, 2, 3],'B':[7, 8, 6],"C":[5, 6, 2]})

print("DataFrame:")
print(df)

# 从 DataFrame 访问单个值
result = df.at[0, 'B']
print("Output:",result)

输出

输出如下所示 −

DataFrame:
   A  B  C
0  1  7  5
1  2  8  6
2  3  6  2

Output: 7

我们可以在上面的代码块中看到已初始化的系列对象和 at 属性的输出。.at 属性对以下行/列对 df.at[0, 'B'] 返回 7。

示例 2

现在让我们使用 at 属性更新 DataFrame 对象位置 [2, 'B'] 中的值"100",2 表示行索引,"B"表示列名。

# 导入 pandas 包
import pandas as pd

# 创建 Pandas DataFrame
df = pd.DataFrame({'A':[1, 2, 3],'B':[7, 8, 6],"C":[5, 6, 2]})

print("DataFrame:")
print(df)

# 使用 .at 属性更新值
df.at[2, 'B'] = 100

print("Value 100 updated:")
print(df)

输出

输出如下 −

DataFrame:
  A B C
0 1 7 5
1 2 8 6
2 3 6 2

Value 100 updated:
  A   B C
0 1   7 5
1 2   8 6
2 3 100 2

我们成功更新了中间列(2,B)最后一行的值"100",我们可以在上面的输出块中看到更新后的 DataFrame 对象。


相关文章