【发布时间】:2016-01-13 16:35:54
【问题描述】:
有没有比下面的代码更快的方法来删除只包含一个不同值的列?
cols=df.columns.tolist()
for col in cols:
if len(set(df[col].tolist()))<2:
df=df.drop(col, axis=1)
这对于大型数据帧来说真的很慢。从逻辑上讲,这会计算每列中的值的数量,而实际上它可能会在达到 2 个不同的值后停止计数。
【问题讨论】:
-
df = df.loc[:, (df != df.iloc[0]).any()]