我有一个如下所示的数据框:
item storage
record paper
record laptop
record desktop
file laptop
file paper
file paper
record desktop
file desktop
如果我想要一个具有 2 个条件的新数据框,例如项目列中的“记录”和存储列中的“笔记本电脑”或台式机,是否有更简单的方法来选择此数据集而不是:
df1=df[(df['item'] == 'record') & (df['storage'] == 'laptop')]
df2=df[(df['item'] == 'record') & (df['storage'] == 'desktop')]
df3= pd.concat([df1, df2], axis=1)
是否有更短的方法可以在一行中执行此操作,例如:
df3=df[(df['item'] == 'record') & (df['storage'] == 'laptop' or 'desktop')] #This does not work
最佳答案
您可以将其中一个条件更改为.isin
:
>>> df['storage'].isin(['laptop', 'desktop'])
所以:
>>> df[(df['item'] == 'record') & (df['storage'].isin(['laptop', 'desktop']))]
item storage
1 record laptop
2 record desktop
6 record desktop
关于python - Pandas 选择具有特定条件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609324/