gpt4 book ai didi

python - 如何从 Pandas DataFrame 中按索引值检索一行?

转载 作者:IT老高 更新时间:2023-10-28 20:54:16 28 4
gpt4 key购买 nike

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

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

如何获取 A0.687263 的行中 B 的值?

我试过了:

e = df.loc(0.687263)

这给了我一个 LocIndexer 对象,而不是我期望的行(如果可能的话,我想指定它应该是单行):

<pandas.core.indexing._LocIndexer object at 0x10385e210>

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

如何获得 B 的值?

最佳答案

pandas 在打印数据帧时会舍入值。您尝试索引的实际值是:

1.764052345967664

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

关于python - 如何从 Pandas DataFrame 中按索引值检索一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36201528/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com