2016-11-16 173 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

相關問題