所以我有一个包含一定数量列的 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
抱歉,如果有人问这个问题。我发现了很多类似的问题,但没有找到我们不手动指定列的问题。
先感谢您!如果您需要更多信息,请告诉我