我必须删除不向数据集添加信息的列,即所有条目中具有相同值的列。
我设计了两种方法来做到这一点
for col in df.columns:
if df.agg(F.min(col)).collect()[0][0] == df.agg(F.max(col)).collect()[0][0]:
df = df.drop(col)
Run Code Online (Sandbox Code Playgroud)
for col in df.columns:
if df.select(col).distinct().count() == 1:
df = df.drop(col)
Run Code Online (Sandbox Code Playgroud)
有没有更好、更快或更直接的方法来做到这一点?
小智 5
df = df.drop(*(col for col in df.columns if df.select(col).distinct().count() == 1))
Run Code Online (Sandbox Code Playgroud)