gpt4 book ai didi

python - 根据另一列的值从一列中选择值 - python

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:01 24 4
gpt4 key购买 nike

我有一个大型数据框 df1,如下所示:

DeviceID     Location
1 Internal
1 External
2 Internal
2 Internal
3 Internal
3 External
3 Internal
4 Internal
4 Internal
5 External
5 Internal

我正在尝试查找并选择在 Location 列中记录了单个 DeviceID 以及“Internal”和“External”值的行。

下一步是从数据框中删除这些行。最终的数据帧 df2 看起来像这样:

DeviceID     Location
2 Internal
2 Internal
4 Internal
4 Internal

到目前为止我尝试过的是:indexDI = df[(df['位置'] == '内部') & df['位置'] == '外部')].index
df.drop(indexDI, inplace = True)

但这似乎必须删除所有带有“Internal”的行。

任何帮助将不胜感激:)

最佳答案

您可以使用nuniquegroupbytransform查看哪些组包含两个不同的值并使用结果对数据帧执行 bool 索引:

df[df.groupby('DeviceID').Location.transform('nunique').eq(1)]

DeviceID Location
2 2 Internal
3 2 Internal
7 4 Internal
8 4 Internal

简单地为 Pandas 的 RangeIndex 添加 reset_index(drop=True)

关于python - 根据另一列的值从一列中选择值 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097871/

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