Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 筛选时从数据帧获取子字符串_Python_Pandas - Fatal编程技术网

Python 筛选时从数据帧获取子字符串

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。对于这样的行,我

假设我有一个包含以下信息的数据帧:

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

我尝试了几种方法来实现它,但没有任何结果。你能帮忙吗

非常感谢。

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