对每个人来说都很麻烦。我已经为我目前的任务累了好几天了,我希望有人能提供帮助。我有一个玩家统计的框架,每个统计类别都用数字和/或零填充。问题在于列**“注解”,它包含了一个动作的描述,如果它发生了。当一个玩家有两个不同的动作时,单元格内容与没有空格的背靠背字符串不一致。我尝试做的是:
1.搜索包含单词的列,例如“woodwork”**
1.提取下面的数字后的codeon(只有)
1.将其分配给已存在的相应命名的列。
1.继续下一个关键字,例如**“错过的机会很大”**总是考虑到它的位置是永远不固定的。
到目前为止,我已经尝试过:
Players_A['Woodwork'] = np.where(Players_A['Notes'].str.contains('Hit woodwork', regex= True), Players_A['Att_Notes'].str.extract(r'(?<=Hit woodwork :)(\d)'), '')
字符串
该代码返回Nan作为匹配值
dataframe
1条答案
按热度按时间iyzzxitl1#
你的正则表达式中有一个问题。下面是更正后的代码:
字符串
输出:
| Pl_Name|注意到|木制品|Msd笔|大_机会|创建|
| --|--|--|--|--|--|
| 莱尼·约罗|- -一种|||||
| 蒂亚戈·桑托斯|- -一种|||||
| 亚当·乌纳斯|击中木制品:1| 1 ||||
| Alexandria ·里贝罗|- -一种|||||
| Nabil Bentaleb|- -一种|||||
| 埃东·热格罗娃|错过的大机会:1||| 1 ||
| 伊斯梅伊|- -一种|||||
| 雷米·卡贝拉|击中木制品:1错过的大机会:1| 1 || 1 ||
| 本杰明·安德烈|- -一种|||||
| 安赫尔·戈麦斯|- -一种|||||
| 伊万·卡瓦略|- -一种|||||
| 卢卡斯·谢瓦利埃|- -一种|||||
| Samuel Umtiti|- -一种|||||
| 约拿单大卫|错过的大机会:2||| 2 ||
注意事项
我已经将正则表达式模式
(\d)
更改为(\d+)
,以确保如果"Notes"
值的数值包含多个数字,extract
方法将检索所有数字,而不仅仅是第一个数字。换句话说,如果您有一个像"Hit woodwork: 15"
这样的值,添加"+"
以确保数字"15"
被提取而不是仅数字"1"
。