gpt4 book ai didi

python - Pandas:如何遍历并删除列具有单个条目的行

转载 作者:行者123 更新时间:2023-11-28 21:32:03 25 4
gpt4 key购买 nike

所以我有一个包含一些列的 pandas 数据框(下面是一个简单数据框的代码,但真正的数据框有超过 100 列):

X = pd.DataFrame([["A","Z"],["A","Z"],["B","Z"]],columns=["COL1","COL2"])

我想要做的是遍历每一列并删除仅发生某事的单个实例的行。例如,在第 1 列中,我们只有一个“B”实例,因此我想在此基础上删除该行。

但是,我想遍历数据框的每一列,并继续删除有此类实例的行。

当我指定名称时,以下代码有效:

X = X[X.groupby('COL1').COL1.transform(len) > 1]

但是,我不确定如何循环使用这段代码。显然我可以手动输入每个列名,但我想更正确地执行此操作。显然以下是行不通的:

for column in X:
X[X.groupby(column).column.transform(len)>1]

COL1 COL2
0 A Z
1 A Z
2 B Y

抱歉,如果有人问过这个问题。我发现了很多类似的问题,但没有找到我们没有手动指定列的问题。

提前致谢!如果您需要更多信息,请告诉我

最佳答案

你可以这样使用复制:

X = pd.DataFrame([["A","Z"],["A","Z"],["B","Z"], ["A","Y"]],columns=["COL1","COL2"])

for column in X:
X = X[X[column].duplicated(keep=False)]

输出:

  COL1 COL2
0 A Z
1 A Z

关于python - Pandas:如何遍历并删除列具有单个条目的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57129701/

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