我有一个简单的数据框,有两列:“性别”和“活着”。我想要做的是计算每个性别中有多少幸存(在文件中由1
表示)。这是我的文件:
Sex Alive
male 1
male 0
female 1
female 1
我尝试使用以下代码,但它没有奏效。任何提示和指示都非常感谢。
for r in df:
if [ (df.Sex=='male') & (df.Alive==1) ]:
male_survival_rate += 1
else:
male_dead_rate += 1
答案 0 :(得分:2)
试试这个:
import pandas as pd
df = pd.read_csv('abc.csv')
#filter dataframe
males = df.loc[(df['Sex'] == 'male') & (df['Alive'] == 1)]
females = df.loc[(df['Sex'] == 'female') & (df['Alive'] == 1)]
#get number of rows
len(males.index)
len(females.index)
有更好的方法可以做到这一点,但是这个方法展示了如何在过滤数据帧时使用多个条件。