使用多列条件筛选,Python 3.6
我的dataframe有两列ActorName&ActionGeo_FullName和大约10K行,如果任何一列包含澳门或澳门,我想过滤记录 下面是我的脚本,这是正确的吗?请让我知道简单的脚本使用多列条件筛选,Python 3.6,python,python-3.x,pandas,Python,Python 3.x,Pandas,我的dataframe有两列ActorName&ActionGeo_FullName和大约10K行,如果任何一列包含澳门或澳门,我想过滤记录 下面是我的脚本,这是正确的吗?请让我知道简单的脚本 dataMAC = dataAll.loc[dataAll['Actor1Name'].str.contains('macao|macau') == True | dataAll['ActionGeo_FullName'].str.contains('macao|macau') == True] Ac
dataMAC = dataAll.loc[dataAll['Actor1Name'].str.contains('macao|macau') == True | dataAll['ActionGeo_FullName'].str.contains('macao|macau') == True]
Actor1Name ActionGeo_FullName
macao macau
US USA
China China
UK United Kindom
China MC macau
我认为是的,应该通过删除
==True
和loc
来改进一点:
dataMAC = dataAll[dataAll['Actor1Name'].str.contains('macao|macau') |
dataAll['ActionGeo_FullName'].str.contains('macao|macau')]
print (dataMAC)
Actor1Name ActionGeo_FullName
0 macao macau
4 China MC macau
默认情况下,True处于活动状态,因此您不需要它。
可能.loc函数不能接受这些类型的操作。这不是一个真正的答案。你能提供一个有效的代码片段吗?添加到@Risadinha,如果你不提供代码,你的回答将与已经接受的答案基本相同(其中
==True
和.loc
都被删除。谢谢!