用python语言写一个中药频次统计代码
时间: 2024-05-14 11:13:15 浏览: 90
好的,以下是Python语言的中药频次统计代码:
```python
# 导入需要用到的库
import jieba
from collections import Counter
# 打开需要处理的文本文件
with open("中药文本.txt", "r", encoding="utf-8") as f:
text = f.read()
# 对文本进行分词
words = jieba.cut(text)
# 统计词频
counter = Counter(words)
# 输出前10个高频词
print("前10个高频中药:")
for word, freq in counter.most_common(10):
print(word, ":", freq)
```
注:需要提前安装jieba库。这段代码会读入一个名为“中药文本.txt”的文本文件,并对其中的中药名进行分词和词频统计,最后输出出现次数最多的前10个中药名及其出现次数。
相关问题
python如何对文件进行字符频次统计,输出最高频次的中文字符
可以使用Python中的collections模块来进行字符频次统计。具体步骤如下:
1. 打开文件并读取内容。
2. 使用Python的Counter类对文本中的字符进行计数。
3. 对计数结果进行排序并输出最高频次的中文字符。
下面是一段示例代码:
```python
import collections
# 打开文件
with open('example.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 统计字符频次
counter = collections.Counter(content)
# 过滤出中文字符
chinese_chars = {k: v for k, v in counter.items() if '\u4e00' <= k <= '\u9fff'}
# 按频次排序
sorted_chars = sorted(chinese_chars.items(), key=lambda x: x[1], reverse=True)
# 输出最高频次的中文字符
print(sorted_chars[0][0])
```
在这段代码中,我们首先打开一个名为`example.txt`的文本文件,并使用Python的`Counter`类对文件中的字符进行计数。然后,我们使用一个字典推导式过滤出文件中的中文字符,并使用`sorted`函数对结果进行排序。最后,我们输出排名第一的中文字符。
需要注意的是,这段代码仅仅是一个示例,如果要对其他语言的文本进行字符频次统计,需要根据具体的语言特点进行修改。
用python统计excel数据频次并降序排列
可以使用Python的pandas和openpyxl库来进行Excel数据频次统计并降序排列。具体步骤如下:
1. 导入pandas和openpyxl库:
```python
import pandas as pd
import openpyxl
```
2. 读取Excel文件中的数据到pandas的DataFrame中:
```python
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
```
其中,'data.xlsx'为Excel文件名,'Sheet1'为工作表名。
3. 对数据进行频次统计并降序排列:
```python
freq = df['列名'].value_counts().sort_values(ascending=False)
```
其中,'列名'为需要统计频次的列名。
4. 将结果保存到Excel文件中:
```python
book = openpyxl.Workbook()
writer = pd.ExcelWriter('result.xlsx', engine='openpyxl')
writer.book = book
freq.to_excel(writer, sheet_name='Sheet1', index=True)
writer.save()
```
其中,'result.xlsx'为结果保存的Excel文件名,'Sheet1'为工作表名,index=True表示将频次统计结果的索引保存到Excel文件中。
完整代码示例:
```python
import pandas as pd
import openpyxl
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
freq = df['列名'].value_counts().sort_values(ascending=False)
book = openpyxl.Workbook()
writer = pd.ExcelWriter('result.xlsx', engine='openpyxl')
writer.book = book
freq.to_excel(writer, sheet_name='Sheet1', index=True)
writer.save()
```
其中,需要将代码中的'data.xlsx'替换成需要统计的Excel文件名,'Sheet1'替换成需要统计的工作表名,'列名'替换成需要统计频次的列名,'result.xlsx'替换成保存结果的Excel文件名。
阅读全文