gpt4 book ai didi

python - 尝试使用 str.contains 和 boolean 掩码,但仅针对 Pandas 中的两个单值实例

转载 作者:行者123 更新时间:2023-11-28 20:33:00 27 4
gpt4 key购买 nike

我想做的是让所有行都具有相同的唯一 ID,如果这些行中的任何一行在 Yurt 列中仅包含两个“-”实例。

我正在考虑通过执行以下操作来使用 str.contains 和 boolean 掩码:

df[df['ID'].isin(df.loc[df.Yurt.str.contains('-'), 'ID'].unique())]

...但不确定我如何只保留只有两个没有值的实例的行。

例子 df:

ID      %       Yurt
abc123 0.833 Bodega
abc123 0.87 -
abc123 0.867 -
abc123 0.812 -
lmn789 0.837 Mickey's
lmn789 0.856 Chopped Cheese
lmn789 0.813 -
lmn789 0.812 -
xyz456 0.111 -
xyz456 0.222 -
xyz456 0.333 -
xyz456 0.444 -

结果 df:

ID      %       Yurt
lmn789 0.837 Mickey's
lmn789 0.856 Chopped Cheese
lmn789 0.813 -
lmn789 0.812 -

最佳答案

在“ID”列上执行 groupby 并使用 filter :

df = df.groupby('ID').filter(lambda grp: grp['Yurt'].eq('-').sum() == 2)

输出:

       ID      %            Yurt
4 lmn789 0.837 Mickey's
5 lmn789 0.856 Chopped Cheese
6 lmn789 0.813 -
7 lmn789 0.812 -

关于python - 尝试使用 str.contains 和 boolean 掩码,但仅针对 Pandas 中的两个单值实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51544427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com