在我的数据框 DF 中,我有一个名为“A”的列,它的值是整数值。但是,当我想使用
检索特定行的 A 值时DF[DF.someCondition=condition].A
它返回一个形状为 (1,) 的对象,该对象不是 int,因为 int 没有形状。我想要 int 因为我想使用这个值作为另一个 numpy 数组的索引条目。如何检索 A 的值,使其成为 int 值?
最佳答案
一般来说,条件的形式为
DF.someCondition = condition
可能不止一次为 True。这就是为什么
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
关于python - 返回 pandas 数据框中特定列的 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641511/