You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将向量化DataFrame导出为关键词逐行排列的CSV文件

问题原因

你现在生成的词频统计DataFrame是单行宽表结构:所有关键词是列名,唯一一行存对应词频值,导出CSV自然会出现关键词全在表头、词频挤在第二行的情况。本质是CountVectorizer输出的单文本词频矩阵是行向量,直接转DataFrame没有做结构转换。

修复方案

不需要改动前面的日志预处理、分词向量化逻辑,只需要调整DataFrame构造部分的代码,把宽表转成「关键词-词频」的两列竖表即可:

import re
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import ENGLISH_STOP_WORDS

def removeNumbers(list):
   #doing something

def processFiles(filename):
   #doing something

def readFile(fileName):
   #doing something

# Build our text
processFiles("log.txt")
text = readFile("processedFile.txt")


vectorizer = CountVectorizer()
matrix = vectorizer.fit_transform([text])

# 替换原有的counts构造逻辑
counts = pd.DataFrame(
    matrix.toarray().T,  # 转置词频矩阵,从1行N列转为N行1列
    index=vectorizer.get_feature_names_out(),
    columns=["frequency"]
).reset_index(names="keyword")

# 导出时加index=False避免生成多余的行号列
counts.to_csv("keywords_count.csv", index=False)
导出效果

最终生成的keywords_count.csv就是你要的格式:每个关键词单独占一行,第一列为关键词内容,第二列为对应词频,示例如下:

keyword,frequency
accept,1
accepted,1
action,1
add,1
address,18
agent,1
allocated,28
api,8
api_action_sender,1
api_reader,6
...

内容的提问来源于stack exchange,提问作者Ujjawal Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:24:27