Pandas 如何使用“.at”属性在Data Frame中访问单个值
pandas DataFrame的“.at”属性用于通过行和列标签访问单个值。该属性接收行和列标签数据,以从给定的DataFrame对象的指定标签位置获取元素。
它将基于行和列标签返回一个单个值,我们还可以在该特定位置上更新一个值。
如果在DataFrame中找不到指定的标签,则“.at”属性将引发一个KeyError。
示例1
在以下示例中,我们使用python字典创建了一个Pandas DataFrame。列名使用字典中的键标记,索引是从0到n-1的自动生成值。
# importing pandas package
import pandas as pd
# create a Pandas DataFrame
df = pd.DataFrame({'A':[1, 2, 3],'B':[7, 8, 6],"C":[5, 6, 2]})
print("DataFrame:")
print(df)
# Access a single value from the 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
在上面的代码块中,我们可以看到初始化的series对象和at属性的输出。对于以下的行/列对, df.at[0, ‘B’] 返回7。
示例2
现在让我们使用at属性更新DataFrame对象中位置[2, ‘B’]的值为”100″,其中2表示行索引,”B”表示列名。
# importing pandas package
import pandas as pd
# create a Pandas DataFrame
df = pd.DataFrame({'A':[1, 2, 3],'B':[7, 8, 6],"C":[5, 6, 2]})
print("DataFrame:")
print(df)
# by using .at attribute update a value
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对象。