我有一个简单的数据框,有两列:“性别”和“活着”。我想做的是计算每种性别有多少人幸存下来(在文件中用 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
最佳答案
试试这个:
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)
有更好的方法可以做到这一点,但这个方法展示了如何在过滤数据帧时使用多个条件。
关于python - Python 中数据帧列上的多个 IF 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325722/