DataFrame循环将信息写入特定的列和行
DataFrame write information to specific column and row in a loop
我是 Pandas 的新手,想了解如何通过循环读取然后写入 DataFrame 行。
输入信息
Index lemmatized_text MulNB
1 item inexpens NaN
2 overall exper NaN
3 screen n't co NaN
4 screen not co NaN
5 've view nume NaN
创建 pandas 数据框
df10 = pd.DataFrame(data, columns = ['MulNB', 'lemmatized_text'])
尝试循环遍历信息的代码:
for i in range(1,len(df10)):
test=df10['lemmatized_text'].loc[i]
df10['MulNB'].loc[i]=model.predict(vec.transform(test))
i+=1
目前它迭代到第 10 行然后停止并显示以下内容:
感谢您对此提供的任何帮助。
您可以使用 apply
:
而不是循环
df10['MulNB'] = df10['lemmatized_text'].apply(lambda test: model.predict(vec.transform([test])))
但话又说回来,使用列表推导式可能更有效。
df10['MulNB'] = [model.predict(vec.transform([test])) for test in df10['lemmatized_text']]
我不知道你的模型是如何建立的,但如果它是一个文本挖掘模型,我认为它应该被矢量化:
df10['MulNB'] = model.predict(vec.transform(df10['lemmatized_text']))
为了 update/iterate Pandas Dataframe 中的行,我建议您查看 Pandas 提供的 iterrows()。
for i, row in df10.iterrows():
test = df10.loc[i,'lemmatized_text']
df10.loc[i,'MulNB'] = model.predict(vec.transform(test))
其他替代方法是使用列表理解。
我是 Pandas 的新手,想了解如何通过循环读取然后写入 DataFrame 行。
输入信息
Index lemmatized_text MulNB
1 item inexpens NaN
2 overall exper NaN
3 screen n't co NaN
4 screen not co NaN
5 've view nume NaN
创建 pandas 数据框
df10 = pd.DataFrame(data, columns = ['MulNB', 'lemmatized_text'])
尝试循环遍历信息的代码:
for i in range(1,len(df10)):
test=df10['lemmatized_text'].loc[i]
df10['MulNB'].loc[i]=model.predict(vec.transform(test))
i+=1
目前它迭代到第 10 行然后停止并显示以下内容:
感谢您对此提供的任何帮助。
您可以使用 apply
:
df10['MulNB'] = df10['lemmatized_text'].apply(lambda test: model.predict(vec.transform([test])))
但话又说回来,使用列表推导式可能更有效。
df10['MulNB'] = [model.predict(vec.transform([test])) for test in df10['lemmatized_text']]
我不知道你的模型是如何建立的,但如果它是一个文本挖掘模型,我认为它应该被矢量化:
df10['MulNB'] = model.predict(vec.transform(df10['lemmatized_text']))
为了 update/iterate Pandas Dataframe 中的行,我建议您查看 Pandas 提供的 iterrows()。
for i, row in df10.iterrows():
test = df10.loc[i,'lemmatized_text']
df10.loc[i,'MulNB'] = model.predict(vec.transform(test))
其他替代方法是使用列表理解。