以下代码有效。
df1 = df.loc[lambda df: df.myfield == 'abc' , ['myfield' , 'field2', 'field3','field4']]
print df1.iloc[:60]
但是我只想在单个语句中打印出与我的'abc'条件匹配的前60个df条目的选定列,而没有分配给df1然后执行第二个iloc语句的额外步骤。我尝试在我的lambda中添加第二个条件,但无法使其工作。
答案 0 :(得分:2)
至少,您应该能够将其简化为:
print df.loc[df.myfield == 'abc', ['myfield', 'field2', 'field3', 'field4']].iloc[:60]
通常,我会做类似的事情:
row_selection = df.myfield == 'abc'
col_selection = ['myfield', 'field2', 'field3', 'field4']
print df.loc[row_selection, col_selection].iloc[:60]