Pandas TF-IDF在熊猫数据帧中的应用

Pandas TF-IDF在熊猫数据帧中的应用,pandas,Pandas,我试图在熊猫中使用TF-IDF,数据集内容有两列,第一列是it内容文本数据,另一列是it内容分类数据 summary type of attack 不明身份的非裔美国人袭击者发射了七枚。。。武装攻击 不明凶手引爆了炸药。。。轰炸 卡尔·阿姆斯特朗(karl armstrong)是当年帮派的成员,他扔下了火球。。。基础设施 卡尔·阿姆斯特朗(karl armstrong)是年帮成员,他闯入了联合国。

我试图在熊猫中使用TF-IDF,数据集内容有两列,第一列是it内容文本数据,另一列是it内容分类数据

                summary                                 type of attack 
不明身份的非裔美国人袭击者发射了七枚。。。武装攻击 不明凶手引爆了炸药。。。轰炸 卡尔·阿姆斯特朗(karl armstrong)是当年帮派的成员,他扔下了火球。。。基础设施 卡尔·阿姆斯特朗(karl armstrong)是年帮成员,他闯入了联合国。。。基础设施 不明身份的凶手把莫洛托夫鸡尾酒扔了进去。。。基础设施


我想使用tf idf转换第一列,然后使用它来构建第二列的预测模式,其中包含攻击类型

我帮助您将df处理为X和y,并用一个简短的示例进行训练

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.preprocessing import LabelEncoder

data = {'summary':['unknown african american assailants fired',
'Armed Assault unknown perpetrators detonated explosives','Bombing karl armstrong member years gang threw'],'type of attack':['bullet','explosion','gang']}

#tfidf
df = pd.DataFrame(data)

tf = TfidfVectorizer()

X = tf.fit_transform(df['summary'])

#label encoding
le = LabelEncoder()

y = le.fit_transform(df['type of attack'])

#your X and y ready to be trained
print('X----')
print(X)
print('y----')
print(y)
输出

X----
  (0, 9)    0.4673509818107163
  (0, 4)    0.4673509818107163
  (0, 1)    0.4673509818107163
  (0, 0)    0.4673509818107163
  (0, 15)   0.35543246785041743
  (1, 8)    0.4233944834119594
  (1, 7)    0.4233944834119594
  (1, 13)   0.4233944834119594
  (1, 5)    0.4233944834119594
  (1, 2)    0.4233944834119594
  (1, 15)   0.3220024178194947
  (2, 14)   0.37796447300922725
  (2, 10)   0.37796447300922725
  (2, 16)   0.37796447300922725
  (2, 12)   0.37796447300922725
  (2, 3)    0.37796447300922725
  (2, 11)   0.37796447300922725
  (2, 6)    0.37796447300922725
y----
[0 1 2]