在索引Pandas DataFrame时得到两个值的原因可能是因为所使用的索引返回了一个Series对象,而不是单个值。Pandas DataFrame可以使用多种索引方式,包括基于标签的.loc和基于位置的.iloc。
当使用.loc进行索引时,它会返回一个Series对象,该Series对象包含所选行或列的标签索引及其对应的值。因此,如果索引返回了一个Series对象,你可能会看到两个值,一个是索引的标签,另一个是对应的值。
下面是一个示例,假设我们有一个名为df的DataFrame,其中包含两列'A'和'B':
import pandas as pd
data = {'A': [1, 2, 3],
'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 使用.loc索引行
row = df.loc[0]
print(row)
运行上述代码,你会得到如下输出:
A 1
B 4
Name: 0, dtype: int64
在这个输出中,你可以看到索引标签(0)和对应的值(1和4)。
如果你只想获取单个值而不是Series对象,可以使用.iloc进行位置索引:
value = df.iloc[0, 0]
print(value)
这将返回第一行第一列的值(在这个示例中是1)。
总结起来,当在索引Pandas DataFrame时得到两个值时,可能是因为所使用的索引方式返回了一个Series对象,该对象包含索引标签及其对应的值。如果你只想获取单个值,可以尝试使用位置索引方式(.iloc)。
领取专属 10元无门槛券
手把手带您无忧上云