Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更简洁的数据帧过滤方法?_Python_Pandas_Dataframe_Lambda - Fatal编程技术网

Python 更简洁的数据帧过滤方法?

Python 更简洁的数据帧过滤方法?,python,pandas,dataframe,lambda,Python,Pandas,Dataframe,Lambda,下面的代码可以工作 df1 = df.loc[lambda df: df.myfield == 'abc' , ['myfield' , 'field2', 'field3','field4']] print df1.iloc[:60] 但是,我只想在一条语句中打印出符合我的“abc”条件的df的前60个条目的选定列,而不需要额外的步骤,即分配给df1,然后执行第二条iloc语句。我尝试在lambda中添加第二个条件,但无法使其生效。至少,您应该能够将其简化为: print df.loc[

下面的代码可以工作

df1 =  df.loc[lambda df: df.myfield == 'abc' , ['myfield' ,  'field2', 'field3','field4']]
print df1.iloc[:60]

但是,我只想在一条语句中打印出符合我的“abc”条件的df的前60个条目的选定列,而不需要额外的步骤,即分配给df1,然后执行第二条iloc语句。我尝试在lambda中添加第二个条件,但无法使其生效。

至少,您应该能够将其简化为:

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]

至少,您应该能够将其简化为:

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]

我很确定你可以不用lambda,只使用
df.myfield='abc'
我很确定你可以不用lambda,只使用
df.myfield='abc'