python – 使用不同长度的布尔系列从数据框中选择行
发布时间:2020-12-20 11:58:05 所属栏目:Python 来源:网络整理
导读:我有一个如下所示的数据框: df = pd.DataFrame({"piece": ["piece1","piece2","piece3","piece4"],"No": [1,1,2,3]}) No piece0 1 piece11 1 piece22 2 piece33 3 piece4 我有一个系列,其索引对应于数据框中的“No”列.它将布尔变量赋值给“No”值,如下所示
我有一个如下所示的数据框:
df = pd.DataFrame({"piece": ["piece1","piece2","piece3","piece4"],"No": [1,1,2,3]}) No piece 0 1 piece1 1 1 piece2 2 2 piece3 3 3 piece4 我有一个系列,其索引对应于数据框中的“No”列.它将布尔变量赋值给“No”值,如下所示: s = pd.Series([True,False,True,True]) 0 True 1 False 2 True 3 True dtype: bool 我想从数据框中选择那些行,其中“No”-value为True.这应该导致 No piece 2 2 piece3 3 3 piece4 我用df [“No”]尝试了很多索引.isin(s),或类似df [s [“No”] == True] ……但它还没有用. 解决方法
我认为您需要将No列中的值映射到true / false条件并将其用于子集化:
df[df.No.map(s)] # No piece #2 2 piece3 #3 3 piece4 df.No.map(s) # 0 False # 1 False # 2 True # 3 True # Name: No,dtype: bool (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |