怎么修改这个代码使其对所有行的分词的词频进行统计然后输出到一个表

import pandas as pd
import jieba

df = pd.read_excel('xuqiufenxi.xls')
print(df)

#新建一列存放分词结果
df['fenci'] = ''

#遍历每一行的文本,并将分词结果存入新建的列中
for i in range(len(df)):
    print(i)
    df['fenci'][i] = ' '.join(jieba.cut(df['需求内容'][i]))
    print(df['fenci'][i])
    #统计每个词出现的次数
    word_count = {}
    for word in df['fenci'][i].split():
        if word in word_count:
            word_count[word] += 1
        else:
            word_count[word] = 1
    # 将word_count字典转换成dataframe
    word_count_df = pd.DataFrame(word_count.items(), columns=['word', 'count'])
    # 按照count值降序排序
    word_count_df = word_count_df.sort_values(by='count', ascending=False)
    #输出excel
    word_count_df.to_excel(f"{df['功能'][i]}.xlsx", index=False)

这个代码我运行出来是对表格的每一行进行分词并且统计词频之后,每一行生成一个表,怎么修改才能是对所有行的内容进行分词而且统计词频,然后把词频输出到一个表格中

```

该回答引用GPTᴼᴾᴱᴺᴬᴵ,具体如下:
你可以把循环遍历每一行的代码放到一个函数中,然后在外层再循环遍历每一行并调用这个函数。修改后的代码如下:


import pandas as pd
import jieba

# 定义函数来分词并统计词频
def word_count(df_row):
    # 分词
    fenci_result = ' '.join(jieba.cut(df_row['需求内容']))
    
    # 统计词频
    word_count = {}
    for word in fenci_result.split():
        if word in word_count:
            word_count[word] += 1
        else:
            word_count[word] = 1
    
    # 将word_count字典转换成dataframe
    word_count_df = pd.DataFrame(word_count.items(), columns=['word', 'count'])
    # 按照count值降序排序
    word_count_df = word_count_df.sort_values(by='count', ascending=False)
    
    # 返回词频统计结果
    return word_count_df

df = pd.read_excel('xuqiufenxi.xls')
print(df)

# 新建一个DataFrame存放所有行的词频统计结果
word_count_all = pd.DataFrame(columns=['word', 'count'])

# 遍历每一行的文本,并将分词结果存入新建的列中
for i in range(len(df)):
    print(i)
    # 对每一行进行分词并统计词频
    word_count_df = word_count(df.iloc[i])
    # 将当前行的词频统计结果添加到总的DataFrame中
    word_count_all = pd.concat([word_count_all, word_count_df], ignore_index=True)

# 按照count值降序排序
word_count_all = word_count_all.sort_values(by='count', ascending=False)
# 输出excel
word_count_all.to_excel("word_count_all.xlsx", index=False)

这样修改后,对所有行的需求内容进行分词并统计词频后,将结果输出到一个名为"word_count_all.xlsx"的Excel文件中。


如果以上回答对您有所帮助,望采纳~谢谢