使用行pandas python上的部分字符串匹配返回DataFrame项

vba*_*hon 4 python string match pandas

我有一个包含两列的Dataframe,一列中包含字符串,另一列中包含列表,如下所示:

      RSD_TYPE                                FILTER LIST
   0     AQ500          [N/A, Z mean, SNR mean, Dir mean]
   1    Triton  [wipe mean, Z mean, Avail mean, Dir mean]
   2  Windcube            [N/A, W mean, Q mean, Dir mean]
   3    Zephir     [Rain mean, W mean, Packets, dir mean]
Run Code Online (Sandbox Code Playgroud)

我想基于与RSD_TYPE列的元素的部分字符串匹配返回一个列表.EG搜索哪一行与"AQ5"具有部分字符串匹配,然后从该行返回相应的列表项,在这种情况下为[N/A,Z均值,SNR均值,Dir均值].

计划是使用.get_value执行此操作,但首先我需要使用部分字符串匹配返回(行)索引的方法.那就是我被困住的地方.我知道如何在列标题上运行部分字符串匹配,但我找不到在该列中的元素(或整个数据帧)上运行它的方法.有任何想法吗?

提前谢谢了.

Ami*_*mit 7

试试这个:

df[df['RSD_TYPE'].str.contains("AQ5")]['FILTER LIST']
Run Code Online (Sandbox Code Playgroud)

例:

In [3]: df
Out[3]:
   RSD_TYPE                                FILTER LIST
0     AQ500          [N/A, Z mean, SNR mean, Dir mean]
1    Triton  [wipe mean, Z mean, Avail mean, Dir mean]
2  Windcube            [N/A, W mean, Q mean, Dir mean]
3    Zephir     [Rain mean, W mean, Packets, dir mean]

[4 rows x 2 columns]
Run Code Online (Sandbox Code Playgroud)
In [4]: df[df['RSD_TYPE'].str.contains("AQ5")]
Out[4]:
  RSD_TYPE                        FILTER LIST
0    AQ500  [N/A, Z mean, SNR mean, Dir mean]

[1 rows x 2 columns]
Run Code Online (Sandbox Code Playgroud)
In [5]: df[df['RSD_TYPE'].str.contains("AQ5")]['FILTER LIST']
Out[5]:
0    [N/A, Z mean, SNR mean, Dir mean]
Name: FILTER LIST, dtype: object
Run Code Online (Sandbox Code Playgroud)