как считать элементы с определенным атрибутом для разных серий - PullRequest
1 голос
/ 21 сентября 2019

Мне нужно рассчитать процент спортсменов, которые участвуют в летних и зимних олимпийских играх, по адресу athlete_events.csv.

Я уже пытаюсь присвоить значения каждому спортсмену, но я продолжаю бесконечно.петля.данные отображаются следующим образом:

Name    Sex Age Height  Weight  Team    NOC Games   Year    Season  City    Sport   Event   Medal
A Dijiang   M   24  180 80  China   CHN 1992 Summer 1992    Summer  Barcelona   Basketball  Basketball Men's Basketball NA

Нет фактических сообщений об ошибках, только бесконечный цикл

   df= pd.read_csv(r"C:\Users\Rorro\Desktop\desafio latam\athlete_events.csv")
   pjt = df.loc[:,"Name"]
   pjt = pjt.drop_duplicates()

   temp = df.loc[:,["Name","Season"]]
   total = 0
   for i in pjt:
      for l,r in temp.iterrows():
        if i == r["Name"] and r["Season"] == "Winter":
          for n,m in temp.iterrows():
            if i == m["Name"] and m["Season"] == "Summer":
                total+=1
            else:
                pass
        elif i == r["Name"] and r["Season"] == "Summer":
          for n,m in temp.iterrows():
            if i == m["Name"] and m["Season"] == "Winter":
                total+=1
            else:
                pass
        else:
           continue

print (total)

1 Ответ

0 голосов
/ 22 сентября 2019

Что насчет этого?

df = pd.DataFrame({'Season': ['winter', 'summer', 'winter', 'summer'],
                   'Name'  : ['a', 'b', 'c', 'a'],
                   'Year'  : [1992, 1996, 2004, 2000]})
print(df)

# Defines the wanted seasons
selection = (df['Season'] == 'summer') | (df['Season'] == 'winter')

# Defines the wanted years    
selection = selection & (df['Year'].isin([1992, 1996, 2000]))

names = df[selection]['Name']
print(names)

unique_count = len(names.unique())
print("\nDistinc itens: {}".format(unique_count))

Отпечатки:

   Season Name  Year  
0  winter    a  1992  
1  summer    b  1996  
2  winter    c  2004  
3  summer    a  2000  

0    a  
1    b  
3    a  
Name: Name, dtype: object  

Distinc itens: 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...