【发布时间】:2022-01-17 13:11:51
【问题描述】:
我有一个形状为(4237, 19) 的数据框,然后是其他形状为(4237, 6) 的数据框,我需要将这两个数据框按列组合,因此技术上生成的数据框应该是(4237, 25) 的形状,但我得到的是@ 987654324@。我无法理解这个问题。
我用过的代码。
social_media_vectorizer = CountVectorizer(lowercase=True)
train_social_media_vector = social_media_vectorizer.fit_transform(x_train["social_media"].values.astype("U"))
test_social_media_vector = social_media_vectorizer.transform(x_test["social_media"].values.astype('U'))
print(x_train.shape)
print(x_test.shape)
train_social_media_df = pd.DataFrame(train_social_media_vector.todense(), columns=social_media_vectorizer.get_feature_names_out())
test_social_media_df = pd.DataFrame(test_social_media_vector.todense(), columns=social_media_vectorizer.get_feature_names_out())
x_train = pd.concat([x_train, train_social_media_df], axis=1)
x_test = pd.concat([x_test, test_social_media_df], axis=1)
print("="*100)
print(x_train.shape)
print(x_test.shape)
print("="*100)
print(social_media_vectorizer.vocabulary_)
结果
(4237, 19)
(1816, 19)
====================================================================================================
(5524, 25)
(3058, 25)
====================================================================================================
{'facebook': 0, 'linkedin': 2, 'twitter': 4, 'instagram': 1, 'youtube': 5, 'producthunt': 3}
【问题讨论】:
标签: python-3.x pandas countvectorizer