【问题标题】:How to back track my index to have my data in the right place如何回溯我的索引以将我的数据放在正确的位置
【发布时间】:2021-12-05 21:52:09
【问题描述】:

目前我正在尝试在我的列表中找到“被盗基地”这个词。我确实找到了“被盗基地”这个词。在我的数据框中,这些是我的结果。

Hitters     Play by Play                                                                                                                                 Stolen Base
Player A    'Swinging Strike, Ball, Player A advances to 1st (hit by pitch),'                                                                                0
Player B    'Swinging Strike, Swinging Strike, Ball, Player A advances to 2nd (stolen base), Player B putout (strike out swinging) for out number 2,'        1
Player C    'Swinging Strike, Swinging Strike, Ball, Player C advances to 1st (single), Player A advances to 3rd ( 2), Player A Scores Earned ( 22),'        0
Player D    'Ball, Ball, Player D advances to 1st (single), Player C advances to 2nd (27),'                                                                  0
Player E    'Ball, Swinging Strike, Swinging Strike, Ball, Player E putout (strike out swinging) for out number 3,'                                          0

但是我需要我的数据框像这样结束

Hitters     Play by Play                                                                                                                                 Stolen Base
Player A    'Swinging Strike, Ball, Player A advances to 1st (hit by pitch),'                                                                                1
Player B    'Swinging Strike, Swinging Strike, Ball, Player A advances to 2nd (stolen base), Player B putout (strike out swinging) for out number 2,'        0
Player C    'Swinging Strike, Swinging Strike, Ball, Player C advances to 1st (single), Player A advances to 3rd ( 2), Player A Scores Earned ( 22),'        0
Player D    'Ball, Ball, Player D advances to 1st (single), Player C advances to 2nd (27),'                                                                  0
Player E    'Ball, Swinging Strike, Swinging Strike, Ball, Player E putout (strike out swinging) for out number 3,'                                          0

由于我是 python 新手,我想不出一种方法来让我的代码回溯并将它放在正确的位置。这只是一局的示例,每一局都可能有很大的不同,因此索引 [1:5] 将不起作用,因为被盗垒可能发生在第二场比赛或 5 场比赛中

我目前正在使用的代码是逐个播放中查找“被盗基地”是这样的

hitters = ['Player A', 'Player B', 'Player C', 'Player D', 'Player E']

play_by_play = ['Swinging Strike, Ball, Player A advances to 1st (hit by pitch),',
                'Swinging Strike, Swinging Strike, Ball, Player A advances to 2nd (stolen base), 
                 Player B putout (strike out swinging) for out number 2,',' Swinging Strike, 
                 Swinging Strike, Ball, Player C advances to 1st (single), Player A advances 
                 to 3rd ( 2), Player A Scores Earned ( 22),','Ball, Ball, Player D advances to 1st
                 (single), Player C advances to 2nd (27),','Ball, Swinging Strike, Swinging Strike,
                 Ball, Player E putout (strike out swinging) for out number 3,']


stolen_base = "stolen base"

stolen_bases = []
for i in range(0,len(game)):
    if stole in game[i]:
        stolen = 1
        stolen_bases.append(stolen)
    else:
        not_stolen = 0
        stolen_bases.append(not_stolen)

【问题讨论】:

  • 你最后需要的返回值是多少?是清单吗?或只是真假
  • 一个列表,以便我可以将其放入我的数据框

标签: python indexing filter find


【解决方案1】:

假设您将文本作为字符串列表。 你可以像这样浏览它们:

list_of_strings = ['String1', 'string 2', 'String @@', 'string 65']

has_key = []
key_word = "S"
for s in list_of_strings:
    has_key.append(1 if key_word in s else 0)

complete_list = list(zip(list_of_strings, has_key))

只需使用您的列表并将它们全部压缩在一起

【讨论】:

  • 当我将变量插入公式时,这会给我一个 [0,1,0,0,0] 的列表,但我当前代码的公式会得到相同的结果。我需要一个可以找到您提供的“被盗基地”的代码,但是我需要一些如何找到它的名称,以便列表按正确的顺序排列。目前列表是 [0,1,0,0,0] 但我需要列表是 [1,0,0,0,0]
  • 我又看了一遍你的数据,第一个字符串没有“被盗基数”......
  • 球员 B 'Swinging Strike,Swinging Strike,Ball,球员 A 前进到 2nd(被盗垒),球员 B putout(strike out swinging)出局 2,'。这发生在击球手 B 中。所以在我的代码和我的代码中,它会为玩家 B 返回一个 1,但实际上它应该给玩家 A,因为他是真正偷基地的人
  • 您将其视为一个长字符串?你想找到“被盗基地”之前的最后一个玩家吗?
  • 我正在寻找“被盗基地”之前的最后一名球员。但是,玩家 A-E 有自己的名单,逐场比赛是自己的名单,我想为偷基地的人列出一份名单。这有帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-01
  • 1970-01-01
  • 2011-06-30
  • 2014-09-26
  • 2019-07-13
  • 2012-02-27
  • 1970-01-01
相关资源
最近更新 更多