Как вернуть результат на основе строки, найденной в списке?

#python #python-3.x #pandas #dataframe #arraylist

Вопрос:

Я пытаюсь вернуть все данные с моего листа Excel из столбца ТУРНИР, в котором есть строка FIFA. Я все время не получаю никаких результатов и не знаю, как это исправить. Ниже приведен образец данных из моего excel. Любая информация была бы полезна, спасибо

Мое превосходство: введите описание изображения здесь

 import pandas as pd
import numpy as np

filename = ("results.csv")
df = pd.read_csv(filename)


#convert to datetime format
df['date'] = pd.to_datetime(df['date'], format='%Y/%M/%D')

#Which country has scored the most goals in FIFA events (qualifiers, cups, etc.) since 2010?
#To get the most goals by sum
df['total_score'] = df['home_score']   df['away_score']  

#Not sure how to check all data with the string "FIFA" in the column "Tournament" 
sub_df = df[(df['date'].dt.year >= 2010)]

if "FIFA" in df['tournament']:
  sub_df2 = sub_df[sub_df['total_score'] == sub_df['total_score'].max()]  
  print(sub_df2)
else:
  print("no results")
 

Ответ №1:

Вы можете использовать Series.str.contains , чтобы проверить, существует ли подстрока в значении, а затем использовать маскировку, чтобы получить только такие вхождения:

 >>> df[df['tournament'].str.contains('FIFA')]
 

Комментарии:

1. как бы я использовал это в состоянии «ЕСЛИ»? Спасибо