使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)

import pandas as pd
import numpy as np
import json,math
import random
from tqdm import tqdm
from collections import Counter ,defaultdict
import re,nltk
import re
import pandas as pd
import csv
df=pd.read_csv("导出印地语数据1000条.csv")
df.title

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
df

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
df.columns

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
for x in range(32,128):
    print(f'{chr(x)}:{ord(chr(x))}',end=' ')
<!--
    print()
<!--
//统计词频
cnt_word=Counter()
for x in tqdm(df['body']):
    cnt_word.update(x.split(' '))
cnt_word.most_common()

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)

cnt_word=Counter()
for x in tqdm(df['body']):
    cnt_word.update(x.split(' '))
cnt_word.most_common()
print(len(cnt_word))

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
去除特殊符号
def sub_specialspecial1(s):

    pattern1=re.compile('[\x8b-\xbd]')
    pattern2=re.compile('[\u2002-\uffff]')
    pattern3=re.compile(r'🇷🇺🌟🌸🎀🎥🏆👉💜💪😉😍🙃🙌🙏🦄')

    s=pattern3.sub(' ',pattern2.sub(' ',pattern1.sub(' ',s)))
    s=re.sub(r'([\u0021-\u0040]|[\u007b-\u007e])',r' \1 ',s)
    s=re.sub('( ){2,}|\t|\n',' ',s)
    s=re.sub('( ){2,}|\t|\n',' ',s)
    return s
df['body']= df['body'].apply(sub_specialspecial1)

cot=Counter()
for x in tqdm(df['body']):
    for s in x:
        cot.update(s)

dd=sorted(cot.keys())
dd

for x in dd:
    print(f'{x}:{ord(x)}',end=' ')
    print(hex(int.from_bytes(x.encode('utf-8'),byteorder='big')))

a='a'

print(a.encode('utf-8'))

decode与encode问题:python中的encode()和decode()函数

import sys
sys.getdefaultencoding()
ord('a')
chr(2409)

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
s=' !"#$%&\'()*+,-./:;?@[\\]中文^_`da da k;'
re.sub(r'([\u0021-\u0040]|[\u007b-\u007e])',r' \1 ',s)

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
df_all=pd.read_csv("导出印地语数据.csv",chunksize=10000)

chunksize分块读取,用于大文件的读取
数据处理:1 用pandas处理大型csv文件 2 使用Pandas分块处理大文件 3 分块读取

df_all.title

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)
dic={}
for i in tqdm(df_all["category2"]):
    if i in dic:
        dic[i]+=1
    else:
        dic[i]=1

cnt=0
for i in dic:
    if dic[i]>5:
        cnt+=1
        print(i,dic[i])
print(cnt)

使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)

使用tqdm()可以显示进度条

将category2列中满足条件的数据的对应行,若该行body列数据满足64

Original: https://blog.csdn.net/GCTTTTTT/article/details/121870643
Author: GCTTTTTT
Title: 使用Python中的Pandas库进行语料处理(词频统计、清洗数据、选取满足条件的对应行写入文件等)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/698142/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球