Pandas 如何使用整数位置在DataFrame中访问单个值
使用pandas.DataFrame.iat属性可以使用行/列的整数位置来访问DataFrame的单个值,它与pandas中的iloc非常相似,不同之处在于这里我们只访问单个元素,而不是一组元素。
“iat”属性接受行和列的整数索引值,以获取或设置特定位置的元素。
如果给定的整数位置超出范围,则该属性将引发“IndexError”异常。
示例1
在以下示例中,我们创建了一个DataFrame,并使用iat属性访问第2行第1列的元素。
# importing pandas package
import pandas as pd
# create a Pandas DataFrame
df = pd.DataFrame({'A':[1, 'u', 60], 'B':[12.2, 17.4, 34.34], 'C':list('XYZ')})
print("DataFrame:")
print(df)
# get a value using integer position
result = df.iat[1, 0]
print("Output:")
print(result)
输出
下面是输出结果:
DataFrame:
A B C
0 1 12.20 X
1 u 17.40 Y
2 60 34.34 Z
Output:
u
我们成功通过指定iat属性为1, 0来访问了第2行第1列的元素。
示例2
现在,让我们使用”iat”属性将值”50″更新到第2行第1列。
# importing pandas package
import pandas as pd
# create a Pandas DataFrame
df = pd.DataFrame({'A':[1, 'u', 60], 'B':[12.2, 17.4, 34.34], 'C':list('XYZ')})
print("DataFrame:")
print(df)
# set a value
df.iat[1, 0] = 50
print("Updated DataFrame:")
print(df)
输出
输出如下:
DataFrame:
A B C
0 1 12.20 X
1 u 17.40 Y
2 60 34.34 Z
Updated DataFrame:
A B C
0 1 12.20 X
1 50 17.40 Y
2 60 34.34 Z
我们使用pandas.DataFrame的“.iat”属性成功地将整数索引位置“1, 0”处的值“50”更新,我们可以在上面的输出块中观察到两个DataFrame对象。