這一直在殺我!將循環轉換爲列表理解?
任何想法如何將其轉換爲列表理解?
for x in dataframe:
if dataframe[x].value_counts().sum()<=1:
dataframe.drop(x, axis=1, inplace=True)
這一直在殺我!將循環轉換爲列表理解?
任何想法如何將其轉換爲列表理解?
for x in dataframe:
if dataframe[x].value_counts().sum()<=1:
dataframe.drop(x, axis=1, inplace=True)
[dataframe.drop(x, axis=1, inplace=True) for x in dataframe if dataframe[x].value_counts().sum() <= 1]
我沒有使用過大熊貓還沒有,但dataframe.drop
的文件說,它返回一個新的對象,所以我認爲它會工作。
我可能會建議去其他方式和過濾它,我不知道你的數據幀,但這樣的事情應該工作:
counts_valid = df.T.apply(pd.value_counts()).sum() > 1
df = df[counts_valid]
或者,如果我看到你在做什麼,你可能會更好用
counts_valid = df.T.nunique() > 1
df = df[counts_valid]
這將只保留具有多個唯一值的行。
'dataframe'的使用讓我覺得這可能是'pandas'?那是你正在使用的? 「drop」是做什麼的?它實際上是否修改了列表?如果不是,那麼你在哪裏收集創建新列表的數據? – idjaw
這對列表理解來說並不合適......是否有理由讓它看起來像這樣? (它不會返回任何數據,而是一遍又一遍地修改對象)。 –