Python 单独打印列的原始值,单位为?

Python 单独打印列的原始值,单位为?,python,pandas,Python,Pandas,我有一个数据帧: df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}]) 现在我想重温一下乔治的年龄: df[df.name == 'george'].age 但这会输出一些额外的信息以及原始值: 0 23 Name: age, dtype: int64 如何让它打印出23?您可以使用+将Serie转换为numpy数组,然后通过[0]选择第一个值: print (df.loc

我有一个数据帧:

df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}])
现在我想重温一下乔治的年龄:

df[df.name == 'george'].age
但这会输出一些额外的信息以及原始值:

0    23
Name: age, dtype: int64
如何让它打印出
23

您可以使用+将
Serie
转换为
numpy数组
,然后通过
[0]
选择第一个值:

print (df.loc[df.name == 'george', 'age'].values)
[23]
print (df.loc[df.name == 'george', 'age'].values[0])
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

不妨回答一下我的评论:

df[df.name == 'george'].age.values[0]

应该工作

int(df[df.name=='george'].age)
df[df.name=='george'].age.values[0]
df = [ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}]
k = [x['age'] for x in df if x['name'] == 'george']
print k 
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
df[df.name == 'george'].age.values[0]
int(df[df.name == 'george'].age)
df = [ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}]
k = [x['age'] for x in df if x['name'] == 'george']
print k