Python统计csv文件,并获取中文字符串词频,数据集格式如下:
上海 | |||||
上海虹桥 | 上海 | 南京 | |||
南京南 | 杭州东 | 合肥南 | |||
上海虹桥 | 上海 | 南京 | 南京南 | 杭州东 | 合肥南 |
上海虹桥 | 上海 | 南京 | 上海 | ||
123 | 123 | 123 | 123 |
不难发现,csv文件中有空的字符,有数字,而我们想要获取中文字符串的词频统计,代码如下:
首先是生成元素集合:
# -*- coding:utf-8 -*-
import csv
import pandas as pd
list_set = []
with open("movie_comments.csv", 'r', encoding = 'utf-8') as f:
reader = csv.reader(f)
for row in reader: #读取每一列数据
for word in row: #读取每一个元素
if '\u4e00' <= word <= '\u9fff': #判断是否为中文字符串
# print(word)
list_set.append(word) #元素添加到集合
接着是词频统计:
from collections import Counter
words_count = Counter(list_set)
statics = words_count.most_common()[:5] #得到词频排序前5名
print(statics)
打印结果:
[('上海', 4), ('上海虹桥', 3), ('南京', 3), ('南京南', 2), ('杭州东', 2)]