jieba及pandas库的使用

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

  2. 读取“stockdata.xlsx”文件,将企业短期负债和长期负债数据清洗成年度数据表(a2.xlsx),要求表汇报企业的股票代码,年份,所有权、行业代码、短期负债,长期负债、资产负债率变量。要求:季度数据处理成年度数据时候使用均值法;缺失值的填充采取均值法。(平均值)

以下回答来自chatgpt,不懂的可以继续交流
首先,需要安装jieba和pandas库,可以使用以下命令进行安装:

pip install jieba pandas

接下来,可以使用pandas库读取“stockdata.xlsx”文件,并使用jieba库进行分词和词频统计,代码如下:

import pandas as pd
import jieba

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

# 分词
words = []
for name in df['企业名称']:
    words += jieba.lcut(name)

# 统计词频
word_count = {}
for word in words:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

# 计算频率
total_count = sum(word_count.values())
freq = {k: v/total_count for k, v in word_count.items()}

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

以上代码会将每个企业名称进行分词,并统计每个词出现的频数,最后计算每个词的频率,并将结果写入文件“code.csv”。

接下来,需要将企业短期负债和长期负债数据清洗成年度数据表。首先,需要使用pandas库读取“stockdata.xlsx”文件,然后使用groupby和agg函数将季度数据处理成年度数据,代码如下:

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

# 将季度数据处理成年度数据
df['年份'] = df['日期'].dt.year
df = df.groupby(['股票代码', '年份']).agg({
    '所有权': 'first',
    '行业代码': 'first',
    '短期负债': 'mean',
    '长期负债': 'mean',
    '资产负债率': 'mean'
}).reset_index()

# 填充缺失值
df = df.fillna(df.mean())

# 写入文件
df.to_excel('a2.xlsx', index=False)

以上代码会将季度数据处理成年度数据,并使用均值法填充缺失值,最后将结果写入文件“a2.xlsx”。