单独打印列的原始值(以熊猫为单位)?
发布于 2021-01-29 19:08:47
我有一个数据框:
df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}])
现在我想找回乔治的年龄:
df[df.name == 'george'].age
但这会输出一些额外的信息以及原始值:
0 23
Name: age, dtype: int64
我该如何打印23
?
关注者
0
被浏览
50
1 个回答
-
您可以使用
loc
+values
转换Serie
为numpy array
,然后通过[0]
以下方式选择第一个值:print (df.loc[df.name == 'george', 'age'].values) [23] print (df.loc[df.name == 'george', 'age'].values[0]) 23
或直接选择
Series
with的第一个值iloc
:print (df.loc[df.name == 'george', 'age'].iloc[0]) 23
或通过
iat
以下方式选择第一项:print (df.loc[df.name == 'george', 'age'].iat[0]) 23
或使用
Series.item
:print (df.loc[df.name == 'george', 'age'].item()) 23
如果可能没有匹配值,则上述解决方案将失败。
然后,可以使用
next
与iter
招:print (next(iter(df.loc[df.name == 'george', 'age']),'no match value')) 23 print (next(iter(df.loc[df.name == 'jano z hornej dolnej', 'age']),'no match value')) no match value