Python 筛选时从数据帧获取子字符串
假设我有一个包含以下信息的数据帧: Name Points String John 24 FTS8500001A Richard 35 FTS6700001B John 29 FTS2500001A Richard 35 FTS3800001B John 34 FTS4500001A 我想选择符合以下条件的每一行:Name=Richard和Points=35。对于这样的行,我想读取字符串列的第4和第5个字符(FTS后面的两个数字) 我想要的输出是数字67和38 我尝试了几种方法来实现它,但没有任何结果。你能帮忙吗 非常感谢。Python 筛选时从数据帧获取子字符串,python,pandas,Python,Pandas,假设我有一个包含以下信息的数据帧: Name Points String John 24 FTS8500001A Richard 35 FTS6700001B John 29 FTS2500001A Richard 35 FTS3800001B John 34 FTS4500001A 我想选择符合以下条件的每一行:Name=Richard和Points=35。对于这样的行,我
Eduardo使用布尔掩码过滤df,然后调用并分割字符串:
In [77]:
df.loc[(df['Name'] == 'Richard') & (df['Points']==35),'String'].str[3:5]
Out[77]:
1 67
3 38
Name: String, dtype: object
字符串方法
您可以在您的标准上屏蔽它,然后使用
再次感谢Ed.
.str
是个加号!感谢您的链接和这个新的查询概念!
In [77]:
df.loc[(df['Name'] == 'Richard') & (df['Points']==35),'String'].str[3:5]
Out[77]:
1 67
3 38
Name: String, dtype: object
mask_richard = df.Name == 'Richard'
mask_points = df.Points == 35
df[mask_richard & mask_points].String.str[3:5]
1 67
3 38