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

4

我有一个数据框,其中包含两列,一列是字符串,另一列是列表,如下所示:

      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]

我希望根据列RSD_TYPE的元素进行部分字符串匹配,并返回列表。例如,搜索哪一行与"AQ5"部分字符串匹配,然后返回该行对应的列表项,在这种情况下是[N/A, Z mean, SNR mean, Dir mean]。
计划使用.get_value来完成此操作,但首先需要一种返回(行)索引的方法,使用部分字符串匹配。我卡在这里了。我知道如何在列标题上运行部分字符串匹配,但找不到在该列(或整个数据框)中运行它的方法。有什么想法吗?
非常感谢您的帮助。

还建议查看这个答案 - cs95
1个回答

7

试试这个:

df[df['RSD_TYPE'].str.contains("AQ5")]['FILTER LIST']

例子:

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]

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]

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

太棒了!非常感谢。 - vbastrangledpython

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接