Python 如何将同一行中的列子集为pandas中的.loc

Python 如何将同一行中的列子集为pandas中的.loc,python,pandas,Python,Pandas,这里的效率问题。有时我想运行一个.loc,然后查看某些列。我一直都是这样做的 p = df[(df.x==1)] p(['x','y']) 这将从列x返回值为1的单元格,然后将数据帧子集,以便只查看列x和y。有没有一种方法可以在没有变量赋值的情况下在一行中完成?我尝试过的事情包括 df[(df.x==1)].columns(['x','y']) 我经常这样做,如果我能把它写成一行代码,我会很高兴的。谢谢 您可以通过使用列名称列表对数据帧进行切片来筛选数据帧的特定列,如df[['col1','

这里的效率问题。有时我想运行一个.loc,然后查看某些列。我一直都是这样做的

p = df[(df.x==1)]
p(['x','y'])
这将从列x返回值为1的单元格,然后将数据帧子集,以便只查看列x和y。有没有一种方法可以在没有变量赋值的情况下在一行中完成?我尝试过的事情包括

df[(df.x==1)].columns(['x','y'])

我经常这样做,如果我能把它写成一行代码,我会很高兴的。谢谢

您可以通过使用列名称列表对数据帧进行切片来筛选数据帧的特定列,如df[['col1','col']]。因此,在您的示例中,您可以对过滤后的数据帧执行以下操作:

df[df.x==1][['x', 'y']]

您可以通过使用列名称列表对数据帧进行切片来筛选数据帧的特定列,如df[['col1','col']]。因此,在您的示例中,您可以对过滤后的数据帧执行以下操作:

df[df.x==1][['x', 'y']]

不要链接你的索引。用loc代替l

一般语法是

df.loc[index_slice, column_slice]

不要链接你的索引。用loc代替l

一般语法是

df.loc[index_slice, column_slice]