在我的数据框DF中,我有一个名为'A'的列,它的值是整数值。但是当我想使用
检索特定行的A值时DF[DF.someCondition=condition].A
它返回一个不是int的shape(1,)对象,因为int没有形状。我想要int因为我想将此值用作另一个numpy数组的索引条目。如何检索A的值以使其为int值?
答案 0 :(得分:1)
一般来说,形式的条件
DF.someCondition = condition
可能不止一次是真的。这就是为什么
DF[DF.someCondition=condition].A
返回形状(1,)
的对象而不是标量值。
如果您确定条件仅为True一次,则可以使用item
DF[DF.someCondition=condition].A.item()
但是,作为MaxU suggested,最好使用.loc
来避免链式索引:
DF.loc[DF.someCondition=condition, 'A'].item()
例如,
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(6).reshape(3,2), columns=list('AB'))
df[df['B']==3].A
# 1 2
# Name: A, dtype: int64
df.loc[df['B']==3, 'A'].item()
# 2
答案 1 :(得分:0)