使用空值替换行并删除匹配两个条件的行

2024-09-30 01:23:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,在这里我获取列的子集,然后希望筛选出有条件地匹配两个标准的行。你知道吗

以下是数据帧的外观:

Name     Err1    Err2    Page 
Amazon   404     201     Shopping
Facebook 202             Social
Goku                     Shopping
Ross             203     Shopping

我将空值替换为“-”,将数据分组为Err1和Err2,并获得Err1的唯一计数。你知道吗

    df['err1'].fillna("-", inplace=True)
    df['err2'].fillna("-", inplace=True)
    df.groupby(["Name","Err1", "Err2"]).agg({"Err1": "count"})

这给了我:

Name     Err1    Err2    Err1 
Amazon   404     201     1
Facebook 202      -      1
Goku      -       -      1
Ross      -      203     1

a)我想删除所有同时具有“Err1”和“Err2”==“-”的行,并且仅当Err1或Err2不是'-'时才显示行。
b) 在上面的例子中,我怎样才能得到Err1和Err2的联合唯一计数,而不是仅仅得到Err1的唯一计数?你知道吗

我不想使用for循环和遍历数据,因为数据集超过10万行。有没有一个有效的方法来实现这一点?你知道吗


Tags: 数据nametrueamazondataframedffacebook计数

热门问题