. 读取“stockdata.xlsx”文件,统计每个上市企业出现的频数,同时计算各个企业的频率(频数/总样本数),以“股票代码:词频”的方式呈现,并将统计结果写进文件(code.csv)储存。(词频统计)
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文件放在正确的路径下,并确保文件中包含正确的数据列。