Oam*_*nji 21 python numpy pandas
我正在从我的数据框中查询一个似乎是“dtype:object”的值。我只是想按原样打印值,而不打印索引或其他信息。我该怎么做呢?
col_names = ['Host', 'Port']
df = pd.DataFrame(columns=col_names)
df.loc[len(df)] = ['a', 'b']
t = df[df['Host'] == 'a']['Port']
print(t)
Run Code Online (Sandbox Code Playgroud)
预期产出:b
cs9*_*s95 37
如果您可以保证只返回一个结果,请使用loc并调用item:
>>> df.loc[df['Host'] == 'a', 'Port'].item()
'b'
Run Code Online (Sandbox Code Playgroud)
或者,类似地,
>>> df.loc[df['Host'] == 'a', 'Port'].values[0]
'b'
Run Code Online (Sandbox Code Playgroud)
...获得第一个值(类似地,.values[1]第二个)。这比df.loc[df['Host'] == 'a', 'Port'][0]因为,如果您的 DataFrame 看起来像这样,
Host Port
1 a b
Run Code Online (Sandbox Code Playgroud)
然后会抛出“KeyError: 0”——
df.loc[df['Host'] == 'a', 'Port'][0]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
Run Code Online (Sandbox Code Playgroud)
或者,使用at:
>>> df.at[df['Host'].eq('a').idxmax(), 'Port']
'b'
Run Code Online (Sandbox Code Playgroud)
缺点是如果 'a' 不存在,idxmax将返回第一个索引(并返回不正确的结果)。
t = df['Host'].values[0]
Run Code Online (Sandbox Code Playgroud)
会给你第一个值。如果您需要字符串,只需执行以下操作:
t = str(df['Host'].values[0])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35940 次 |
| 最近记录: |