擅长:python、mysql、java
<p>似乎要在显示“Shot”的前四行中进行切片。您可以使用索引值查找“Shot”出现的位置,然后根据索引值对数据帧进行切片</p>
<p>将数据添加到数据帧:</p>
<pre><code>import pandas as pd
from tabulate import tabulate
dict = {
"teamid": [190,191,192,108,190,190,191,192,108,190,190,191,192,108,190,190,191,192,108,190],
"eventId": [5,2,4,5,6,5,2,4,5,6,5,2,4,5,6,5,2,4,5,6],
"eventname": ['hello','Free Kick','Pass','Pass','Shot','Interruption','Free Kick','Pass','Pass','Shot','Interruption','Free Kick','Pass','Pass','Shot','Interruption','Free Kick','Pass','Pass','Shot']
}
df=pd.DataFrame(data=dict)
print(tabulate(df, headers = 'keys', tablefmt = 'psql'))
</code></pre>
<p>然后切片数据并执行任务</p>
<pre><code># Search for index values where "Shot" appear.
index_values = df[df['eventname'] == 'Shot'].index
# Add -1 at 0 index in index_value list
index_values = index_values.insert(0,-1)
#Slide the data. Over here you can perform your task on last four rows
for i in range(0,len(index_values)-1):
# perform your task here
print(tabulate(df[index_values[i]+1:index_values[i+1]], headers='keys', tablefmt='psql'))
</code></pre>