python人物出场统计
时间: 2024-12-19 17:10:36 浏览: 18
气象统计方法实习(Python版).zip
在Python中,如果你想要对故事或者文本数据的人物出场次数进行统计,可以使用Python的数据处理库,如pandas。首先,你需要将文本数据读取成一个数据结构,比如字符串列表(每个元素代表一段剧情),或者是从文件或数据库中导入。
下面是一个简单的步骤:
1. **数据预处理**:将文本拆分成单词或句子,并移除标点符号和停用词(常见的无意义词汇),只保留人名。
2. **分词识别**:利用命名实体识别(NER)库,如spaCy或NLTK,对文本进行分析,找出其中的人名实体。
3. **计数**:创建一个空字典或DataFrame,键为人名,值为出现次数。遍历每个识别出的人名,如果名字已经在字典里,增加对应的计数;如果不在,则添加新的键并设置初始值为1。
4. **结果整理**:最后你可以按照出现次数降序排序,获取出场次数最多的角色。
以下是一个简化的代码示例:
```python
import pandas as pd
from spacy import load
# 加载SpaCy模型(例如英文版)
nlp = load('en_core_web_sm')
def count_person_appearances(text):
doc = nlp(text)
person_counts = {}
for ent in doc.ents:
if ent.label_ == 'PERSON':
person = ent.text.lower()
if person not in person_counts:
person_counts[person] = 1
else:
person_counts[person] += 1
return person_counts
# 示例文本
text_data = ["角色A出现了三次,角色B两次,角色C一次"]
# 对数据集应用函数
results = [count_person_appearances(line) for line in text_data]
# 结果整合到DataFrame
df = pd.DataFrame(results).sum().reset_index()
df.columns = ['人物', '出场次数']
df.sort_values('出场次数', ascending=False, inplace=True)
阅读全文