如何从 Pandas DataFrame 单元格获取值

如何从 Pandas DataFrame 单元格获取值

已邀请:
1.iloc 从 Pandas DataFrame 的单元中获取价值
iloc 是从 Pandas dataframe 单元中获取值的最有效方法。假设,我们有一个 DataFrame,其列的名称分别为 price 和 stock,并希望从第三行获取一个值以检查价格和库存状况。

首先,我们需要访问行,然后使用列名访问值。

示例代码:

# python 3.x
import pandas as pd
df = pd.DataFrame({
'name':
['orange','banana','lemon','mango','apple'],
'price':
[2,3,7,21,11],
'stock':
['Yes','No','Yes','No','Yes']
})
print(df.iloc[2]['price'])
print(df.iloc[2]['stock'])
输出:

7
Yes
iloc 在索引中的特定位置获取行(或列)。这就是为什么它仅采用整数作为参数的原因。然后 loc 从索引中获取带有特定标签的行(或列)。
2.从 Pandas DataFrame 的单元中获取 iat 和 at 来获取值
iat 和 at 是标量的快速访问方法,可从 Pandas Dataframe 的单元格中获取值。

示例代码:

# python 3.x
import pandas as pd
df = pd.DataFrame({
'name':
['orange','banana','lemon','mango','apple'],
'price':
[2,3,7,21,11],
'stock':
['Yes','No','Yes','No','Yes']
})
print(df.iat[0,0])
print(df.at[1,'stock'])
输出:

orange
No
为了获得最后一行条目,我们将使用 at[df.index[-1],'stock']。
示例代码:

# python 3.x
import pandas as pd
df = pd.DataFrame({
'name':
['orange','banana','lemon','mango','apple'],
'price':
[2,3,7,21,11],
'stock':
['Yes','No','Yes','No','Yes']
})
print(df.at[df.index[-1],'stock'])
输出:

Yes
3.df['col_name'].values[] 从 Pandas DataFrame 的单元格获取值
df['col_name'].values[] 首先将 Datafarme 列转换为一维数组,然后访问该数组索引处的值:

示例代码:

# python 3.x
import pandas as pd
df = pd.DataFrame({
'name':
['orange','banana','lemon','mango','apple'],
'price':
[2,3,7,21,11],
'stock':
['Yes','No','Yes','No','Yes']
})
print(df['stock'].values[0])
输出:

Yes
它返回的不是 pandas.series,并且使用起来最简单。

要回复问题请先登录注册