import pandas as pd
df = pd.read_csv('admission_data.csv')
df.head()
female = 0
male = 0
for row in df:
if df['gender']).any()=='female':
female = female+1
else:
male = male+1
Run Code Online (Sandbox Code Playgroud)
印刷(女) 印刷 男
CSV 文件有 5 列这是图片
我想知道女性、男性的总人数以及录取的人数、录取的女性人数、录取的男性人数谢谢。这是我尝试过的代码以及上述代码的更多迭代,但它们似乎都不起作用。
你的if逻辑是错误的。
根本不需要循环。
print(df['gender'].tolist().count('female'))
print(df['gender'].tolist().count('male'))
Run Code Online (Sandbox Code Playgroud)
value_counts或者,您可以按照@Wen的建议使用:
print(df['gender'].value_counts()['male'])
print(df['gender'].value_counts()['female'])
Run Code Online (Sandbox Code Playgroud)
经验法则:99% 的情况下,使用 pandas 时不需要使用显式循环。如果您发现自己正在使用一种方法,那么很可能有一种更好(更快)的方法。