Я хочу отфильтровать и вернуть столбец на основе того, имеет ли каждая страна больше F, чем M. Например, если в стране больше F, чем M, столбец вернет True, иначе False. Как я могу сделать это в пандах? пожалуйста помоги! Большое спасибо.

Я уже отфильтровал коды стран, пол и их количество. Мне просто нужно отфильтровать и вернуть значение TF на основе подсчета

 NOC  Sex
AFG  M        2
AHO  M        1
ALG  F        3
     M       14
ANZ  F        2
           ... 
WIF  M        5
YUG  F       60
     M      330
ZAM  M        2
ZIM  F       22
0
grapefruitTop88 4 Фев 2022 в 18:10
Я считаю, что ваш вклад может быть изменен. Как показано, теперь у вас есть безымянный индекс, столбцы NOC с M/F и столбец Sex с номерами.
 – 
mozway
4 Фев 2022 в 18:24

1 ответ

import pandas as pd

# This is a sample dataframe.
# Make sure that you switch out the name of your dataframe in the code.
# This dataframe is called "df"
df=pd.DataFrame({"SEX":("M", "F", "M")})

# Define two counters
# One counts the occurence of "F"
f_counter=0
# One counts the occurence of "M"
m_counter=0

# Now iterate through each entry in the column "SEX"
for index in df.index:
    # Check if the entry is equal to "F"
    if df["SEX"][index] == "F":
        # If this is true, we will raise our F-counter by 1
        f_counter += 1
    else:
        # If this is not true, we will raise our M-counter by 1
        m_counter += 1

# Initialize our compare variable
compare=False
#Compare the F-counter with the M-counter
if f_counter > m_counter:
    # If we have more F than M, define counter as True
    compare=True
else:
    # If we have more M than F, define counter as False
    compare=False

# Print our result
print(compare)
0
Carst3n 4 Фев 2022 в 18:31