繁体   English   中英

Python中数据框列上的多个IF条件

[英]Multiple IF conditions on dataframe columns in Python

我有一个带有两列的简单数据框:“性”和“活着”。 我想做的是计算每种性别中幸存的人数(在文件中以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)

有更好的方法可以做到这一点,但是这一方法展示了如何在过滤数据帧时使用多种条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM