首页 > 解决方案 > 在 pandas 中计数并将输出分配给变量

问题描述

我对 python 和 pandas 还很陌生,所以如果这是一个基本的问题,请原谅我。我正在从 csv 文件中读取一些数据,我想从“M”、“F”和 NaN 的“性别”列中进行统计。下面的代码输出这个:

    import pandas as pd
    import numpy as np

    df = pd.read_csv("....csv")
    count = pd.value_counts(df['gender'],dropna=False)

这输出:

    M      22
    F       3
    NaN     1

但是,我不想仅仅将这些视为一个计数,我希望将这些值分配给变量。即有

    male = pd.value_counts(df['gender'],'M',dropna=False)

或类似的东西,给男性= 22(女性和南也一样),但是我找不到使用熊猫的明显方法。有什么建议吗?提前谢谢了!

标签: pythonpandas

解决方案


在这个例子中,我们采用gender过滤的系列计数== "male"

import pandas as pd
import random
df = pd.DataFrame({'gender': [random.choice(['male', 'female']) for x in range(100)]})
count_men = df[df["gender"] == "male"].count()
count_men

如果你只想要整数,你可以把它作为第零值:

count_men = df[df["gender"] == "male"].count()[0]

推荐阅读