簡體   English   中英

如何從pandas中的countvectorized稀疏數據幀中刪除幾列

[英]How remove few columns from countvectorized sparse dataframe in pandas

我在countvectorized數據框中有大約2000個文本特征。 我有800個文本特征列的列表,這些列對預測模型具有實際的特征重要性貢獻。 我只想保留這800列,並刪除其余1200列,因為它們對我的預測沒有太大貢獻。

我怎樣才能做到這一點。 我有要在文本文件中維護的列的列表。

cv = CountVectorizer( max_features = 2000,analyzer='word') 
    cv_text = cv.fit_transform(data.pop('text'))
    for i, col in enumerate(cv.get_feature_names()):
        data[col] = pd.SparseSeries(cv_text[:, i].toarray().ravel(), fill_value=0)

應該很容易:

data = data.drop(list_of_cols_to_drop, axis=1)

要么

data = data.drop(data.columns.difference(list_of_needed_cols), axis=1)

SparseDataFrame對象有一個drop方法。

從文檔字符串:

In [139]: pd.SparseDataFrame.drop?
Signature: pd.SparseDataFrame.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='rai
se')
Docstring:
Return new object with labels in requested axis removed.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM