Python 如何从数据帧中按索引值检索行?

Python 如何从数据帧中按索引值检索行?,python,pandas,Python,Pandas,我已经创建了一个数据框并设置了一个索引: df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D']) df = df.set_index('A') 数据帧如下所示: B C D A 0.687263 -1.700568 0.140175 1.420394 -0.212621 -0.700442 -0.041497 -1.034021 -0.6

我已经创建了一个数据框并设置了一个索引:

df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D'])
df = df.set_index('A')
数据帧如下所示:

                  B         C         D
A
 0.687263 -1.700568  0.140175  1.420394
-0.212621 -0.700442 -0.041497 -1.034021
-0.614214 -0.437313 -0.464493 -1.182492
-0.885062  0.203892 -0.412400 -0.578346
-1.222661  2.014908 -0.463674 -0.378910
 0.132472 -0.389512  0.623531 -0.788556
-1.083620  1.167158 -0.558217 -0.222078
 1.066270 -0.215586 -0.884757 -0.878557
如何获取
A
0.687263
的行中B的值

我试过:

e = df.loc(0.687263)
这给了我一个
LocIndexer
对象,而不是我期望的行(如果可能的话,我还想指定它应该是一行):


如果我现在尝试
e['B']
我会得到一个错误


如何获取B的值?

当它打印数据帧时,如何获取B的值。您尝试索引的实际值为:

1.76405234596764

import pandas as pd
import numpy as np

np.random.seed(0)
df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D'])

df = df.set_index('A')
print df


                  B         C         D
A                                      
 1.764052  0.400157  0.978738  2.240893
 1.867558 -0.977278  0.950088 -0.151357
-0.103219  0.410599  0.144044  1.454274
 0.761038  0.121675  0.443863  0.333674
 1.494079 -0.205158  0.313068 -0.854096
-2.552990  0.653619  0.864436 -0.742165
 2.269755 -1.454366  0.045759 -0.187184
 1.532779  1.469359  0.154947  0.378163


df.loc[1.764052345967664]
Out[32]: 
B    0.400157
C    0.978738
D    2.240893
Name: 1.76405234597, dtype: float64

啊,我明白了-我用的是
.loc(X)
而不是
.loc[X]
,这是我的问题。谢谢@Richard这应该是一个答案而不是评论,因为它解决了问题的问题(我的:)
import pandas as pd
import numpy as np

np.random.seed(0)
df = pd.DataFrame(np.random.randn(8, 4),columns=['A', 'B', 'C', 'D'])

df = df.set_index('A')
print df


                  B         C         D
A                                      
 1.764052  0.400157  0.978738  2.240893
 1.867558 -0.977278  0.950088 -0.151357
-0.103219  0.410599  0.144044  1.454274
 0.761038  0.121675  0.443863  0.333674
 1.494079 -0.205158  0.313068 -0.854096
-2.552990  0.653619  0.864436 -0.742165
 2.269755 -1.454366  0.045759 -0.187184
 1.532779  1.469359  0.154947  0.378163


df.loc[1.764052345967664]
Out[32]: 
B    0.400157
C    0.978738
D    2.240893
Name: 1.76405234597, dtype: float64