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