【发布时间】:2022-01-03 01:43:44
【问题描述】:
我有一个包含“名称”列的数据框 (df),并且我有一个单独的字符串列表,其格式为:
info = ['AAA.123+456.789', 'BBB.987+654.321', 'CCC.321-654.987']
等等。我想使用列表中的字符串搜索 df 中的“名称”列,并将结果存储在单独的数据框 (df2) 中。我用过:
df2 = df.loc[df['Names'].str.contains('|'.join(info))]
然而 df2 的输出(在 spyder 变量资源管理器中)要么是一个空数据框,要么只返回一个结果。我不确定如何解决这个问题,所以任何建议都将不胜感激 - 谢谢!
编辑
| Index | Names | Quantity 1 | Quantity 2 | Quantity 3 | Quantity 4 |
|---|---|---|---|---|---|
| 0 | AAA | 12.3 | 4.56 | 7.89 | 10.1112 |
| 1 | BBB | 3.21 | 65.4 | 98.7 | 1.21110 |
| 2 | CCC | 456.23 | 1.23 | 10101 | 101.112 |
| 3 | DDD | 6.4 | 3.21 | 0.2029 | 1211.10 |
是 df 内容的示例(它是 6 列和非常多的行数)
编辑 2
根据 Serge 在 cmets 的建议,将“列表”重新标记为“信息”
【问题讨论】:
-
请展示您的数据框内容示例。
-
不要逐个调用你的列表。保留用于定义列表。
-
另外,尝试提供一个最小可重现的例子。尝试创建一些产生相同问题的虚拟数据。例如,使用不太复杂的字符串模式以开头
标签: python pandas string list dataframe