Python 用于数据帧行的类似字典的get()方法?

Python 用于数据帧行的类似字典的get()方法?,python,pandas,dataframe,Python,Pandas,Dataframe,有没有更好、更惯用的方法 import pandas as pd df : pd.DataFrame try: row = df.loc[key] except KeyError: row = None 如果我想要一列而不是一行,我可以使用df.get(key)。我尝试了df.transpose().get(key),这确实有效,但转置不仅仅是一个视图,它物理上转置数据,因此用于此目的时速度非常慢。使用reindex,但这将返回一系列NaN: df.reindex([key]).

有没有更好、更惯用的方法

import pandas as pd
df : pd.DataFrame

try:
   row = df.loc[key]
except KeyError:
   row = None

如果我想要一列而不是一行,我可以使用
df.get(key)
。我尝试了
df.transpose().get(key)
,这确实有效,但转置不仅仅是一个视图,它物理上转置数据,因此用于此目的时速度非常慢。

使用
reindex
,但这将返回一系列
NaN

df.reindex([key]).loc[key]

使用
reindex
,但这将返回一系列
NaN

df.reindex([key]).loc[key]

默认情况下,行具有编号索引。使用
df.iloc[0]
获取第一行。我认为这更为惯用:
df.loc[key]如果在df.index中输入key,则没有
这是否回答了您的问题?像这样使用
try except
是惯用的。如果要多次使用,只需将其包装在函数中即可。默认情况下,行具有编号索引。使用
df.iloc[0]
获取第一行。我认为这更为惯用:
df.loc[key]如果在df.index中输入key,则没有
这是否回答了您的问题?像这样使用
try except
是惯用的。如果你要做很多次,就把它包装成一个函数。这不是一个有效的方法。最有效和惯用的方法是只使用
try except
。这不是一种有效的方法。最有效、最惯用的方法是只使用
try-except