2016-11-16 131 views
0

在我的数据框DF中,我有一个名为'A'的列,它的值是整数值。然而,当我想要检索的值,使用返回熊猫数据框中特定列的int值

DF[DF.someCondition=condition].A 

返回形状(1)的对象的特定行是不是int,因为INT不具有的形状。我想int,因为我想用这个值作为另一个numpy数组的索引条目。我如何检索A的值以便它是一个int值?

+2

试试这个:'DF.loc [DF.someCondition = condition,'A']' – MaxU

+0

这是错误的。我不想要一个位置。我想要A – HimanAB

+0

的价值你尝试过吗? – MaxU

回答

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 
+0

谢谢。它完美的作品。 – HimanAB

相关问题