关于SO处理groupby稀疏矩阵的使用存在一些问题。但是输出似乎是列表,字典,数据框和其他对象。
我正在研究NLP问题,并希望在处理过程中将所有数据保留在稀疏的Scipy矩阵中,以防止出现内存错误。
这里是上下文:
我已对一些文档进行矢量化处理(此处为示例数据):
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
df = pd.read_csv('groupbysparsematrix.csv')
docs = df['Text'].tolist()
vectorizer = CountVectorizer()
train_X = vectorizer.fit_transform(docs)
print("Dimensions of training set: {0}".format(train_X.shape))
print type(train_X)
Dimensions of training set: (8, 180)
<class 'scipy.sparse.csr.csr_matrix'>
Run Code Online (Sandbox Code Playgroud)
从原始数据框中,我使用日期(采用一年中的某天的格式)创建要汇总的组:
from scipy import sparse, hstack
df['Date'] = pd.to_datetime(df['Date'])
groups = df['Date'].apply(lambda x: x.strftime('%j'))
groups_X = sparse.csr_matrix(groups.astype(float)).T
train_X_all = sparse.hstack((train_X, groups_X))
print("Dimensions of concatenated set: {0}".format(train_X_all.shape))
Dimensions of concatenated set: (8, 181)
Run Code Online (Sandbox Code Playgroud)
现在,我想应用 …