我有一個數據幀:在pandas中單獨打印一列的原始值?
df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}])
現在我想以檢索喬治的年齡:
df[df.name == 'george'].age
但這輸出與原始值以及一些額外的信息:
0 23
Name: age, dtype: int64
怎麼辦我只是要打印23
?
我有一個數據幀:在pandas中單獨打印一列的原始值?
df = pd.DataFrame([ { 'name': 'george', 'age': 23 }, {'name': 'anna', 'age': 26}])
現在我想以檢索喬治的年齡:
df[df.name == 'george'].age
但這輸出與原始值以及一些額外的信息:
0 23
Name: age, dtype: int64
怎麼辦我只是要打印23
?
您可以使用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
第一個值與iloc
:
print (df.loc[df.name == 'george', 'age'].iloc[0])
23
或者選擇第一item by iat
:
print (df.loc[df.name == 'george', 'age'].iat[0])
23
或者使用Series.item
:
print (df.loc[df.name == 'george', 'age'].item())
23
還不如讓我的評論答案:
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
'int(df [df.name =='george']。age)'? 'df [df.name =='george']。age.values [0]'? – jDo