在非数字列中搜索字符串值

Atilla

在包含2万个国际象棋比赛的数据框中,有一个名为的列opening_name

此列中的所有值都是这样的字符串:

1        Nimzowitsch Defense: Kennedy Variation
2         King's Pawn Game: Leonardis Variation
3        Queen's Pawn Game: Zukertort Variation
4                              Philidor Defense
                          ...                  
20053                             Dutch Defense
20054                              Queen's Pawn
20055           Queen's Pawn Game: Mason Attack
20056                              Pirc Defense
20057           Queen's Pawn Game: Mason Attack

在本专栏中,几乎有一百个具有相似名称的值,相似名称类似于 Sicilian defence Sicilian defence: dragon variation我想访问所有以string开头的值 Sicilian defence我怎样才能做到这一点?

雷沙姆·瓦德瓦

根据我的理解,:之前的字符串部分是起始字符串,之后的值是变量。

第1步:通过分割,为所有行提取前缀值:

df['base_term']=df.opening_name.apply(lambda x: x.split(":")[0])

这将返回带有值或起始字符串的新列。

步骤2:检索具有给定起始字符串(例如“ Sicilian defence”)的行。

res = df.loc[df.base_term=='Sicilian defence']

res是具有以“ Sicilian defence”开头的opening_name行的数据帧

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章