python中jieba库的使用以及如何写文件

. 读取“stockdata.xlsx”文件,统计每个上市企业出现的频数,同时计算各个企业的频率(频数/总样本数),以“股票代码:词频”的方式呈现,并将统计结果写进文件(code.csv)储存。(词频统计)

img

img

import pandas as pd

# 读取数据
df = pd.read_excel('./stockdata.xlsx')

# 统计每个股票代码出现的频数
freq = df['股票代码'].value_counts()

# 计算频率
freq_rate = freq / len(df)

# 将结果保存到csv文件
freq_df = pd.DataFrame({'股票代码': freq.index, '词频': freq.values, '频率': freq_rate.values})
freq_df.to_csv('code.csv', index=False)

我刚写完一个用结巴库做词频统计到案例你就来了,不过我统计到是虚拟词,需要参考吗

这个很简单的,你可以先参考:
Python数据分析(4):jieba分词详解_zdb呀的博客-CSDN博客

【Python】获取视频弹幕并生成词云_python获取弹幕_感谢地心引力的博客-CSDN博客

比如:

import jieba
import pandas as pd

# 读取 stockdata.xlsx 文件
df = pd.read_excel('stockdata.xlsx')

# 对股票名称进行分词
df['分词'] = df['股票名称'].apply(lambda x: list(jieba.cut(x)))

# 计算每个词出现的频数
counts = df['分词'].explode().value_counts()

# 计算各个词的频率
freqs = counts / len(df)

# 将结果以“股票代码:词频”的方式呈现
result = pd.DataFrame({'股票代码': counts.index, '词频': freqs.values})

# 将统计结果写进文件(code.csv)储存
result.to_csv('code.csv', index=False)

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
使用jieba库可以进行中文分词,可以用于统计每个上市企业出现的频数。以下是一个简单的示例代码:

import jieba
import pandas as pd

# 读取excel文件
df = pd.read_excel('stockdata.xlsx')

# 将企业名称进行分词
words_list = []
for name in df['企业名称']:
    words = jieba.cut(name)
    words_list.extend(words)

# 统计每个企业出现的频数
freq_dict = {}
for word in words_list:
    if len(word) > 1:  # 只统计长度大于1的词语
        freq_dict[word] = freq_dict.get(word, 0) + 1

# 计算各个企业的频率
total = sum(freq_dict.values())
freq_dict = {k: v/total for k, v in freq_dict.items()}

# 将结果写入文件
with open('code.csv', 'w') as f:
    for k, v in freq_dict.items():
        f.write(f'{k}:{v}\n')

这段代码首先使用pandas库中的read_excel函数读取excel文件,然后使用jieba库中的cut函数对企业名称进行分词,并将分词结果保存在一个列表中。接着,使用字典freq_dict统计每个企业出现的频数。最后,计算各个企业的频率,并将结果写入文件中。

代码中使用了Python的文件操作,使用open函数打开文件,并指定文件名和打开模式('w'表示写入模式)。使用with语句可以自动关闭文件,避免忘记关闭文件导致资源浪费或者文件损坏的问题。

注意:在运行代码之前,需要先安装jieba和pandas库,可以使用pip命令进行安装。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

学号报上来给你加分

来自GPT的回答:

在Python中,可以使用jieba库进行中文分词。对于文件的读写,可以使用pandas库来读取Excel文件和写入CSV文件。下面是一个示例代码,演示了如何使用jieba库进行词频统计并将结果写入CSV文件。

首先,确保已经安装了jieba和pandas库。可以使用以下命令进行安装:

python
Copy code
pip install jieba pandas
然后,可以按照以下方式使用jieba库和pandas库来完成词频统计和文件写入:

python
Copy code
import jieba
import pandas as pd

# 读取Excel文件
df = pd.read_excel("stockdata.xlsx")

# 统计每个上市企业出现的频数
word_counts = df["股票代码"].value_counts()

# 计算各个企业的频率
total_samples = len(df)
word_freq = word_counts / total_samples

# 将统计结果写入CSV文件
word_freq_df = pd.DataFrame({"股票代码": word_freq.index, "词频": word_freq.values})
word_freq_df.to_csv("code.csv", index=False, encoding="utf-8")
上述代码会读取名为stockdata.xlsx的Excel文件,假设其中包含一个名为"股票代码"的列,代表上市企业的股票代码。代码将统计每个股票代码出现的频数,并计算各个股票代码的频率。最后,将结果保存为code.csv文件,采用UTF-8编码。

请确保在运行代码之前,将stockdata.xlsx文件放在正确的路径下,并确保文件中包含正确的数据列。