


Gunakan python untuk memproses data teks
Tujuan percubaan
Kenal dengan struktur data asas python, serta input dan output fail .
Data eksperimen
Menggunakan data penilaian dan tugasan penilaian persidangan pembelajaran mesin xx dalam xxxx Data termasuk set latihan dan set ujian lulus Data latihan yang diberikan, ramalkan sama ada hubungan dalam set ujian adalah contoh positif atau negatif, dan berikan 1 atau 0 pada akhir setiap sampel.
Data diterangkan seperti berikut Lajur pertama ialah jenis hubungan, lajur kedua dan ketiga ialah nama orang, lajur keempat ialah tajuk, lajur kelima ialah sama ada hubungan itu positif. atau contoh negatif, 1 ialah contoh positif, 0 ialah contoh negatif; lajur keenam mewakili set latihan.
事件 | 人物1 | 人物2 | 标题 | 关系(0 or 1) | 训练集 |
---|
Set ujian diterangkan dalam rajah di bawah Format pada dasarnya serupa dengan set latihan Satu-satunya perbezaan ialah lajur kelima tidak mempunyai tanda yang berkaitan dengan contoh positif atau negatif.
关系 | 人物1 | 人物2 | 事件 |
---|
Kandungan percubaan
Proses data set latihan, hanya meninggalkan lima lajur pertama dan teks output dinamakan exp1_1.txt.
Kelaskan 19 jenis perhubungan berdasarkan data yang diperoleh dalam langkah pertama Teks yang dijana disimpan dalam folder exp1_train Mengikut susunan kategori perhubungan yang muncul, data kategori perhubungan pertama ialah disimpan dalam 1 .txt, kategori hubungan kedua disimpan dalam 2.txt sehingga 19.txt.
Set ujian mengelaskan setiap sampel mengikut kategori hubungan dalam susunan 19 kategori set latihan, iaitu, data jenis hubungan yang sama dimasukkan ke dalam fail teks, dan fail ujian 19 kategori juga dijana Formatnya masih sama Selaras dengan fail ujian. Disimpan dalam folder exp1_test, fail setiap kategori masih dinamakan 1_test.txt, 2_test.txt... Pada masa yang sama, kedudukan setiap sampel dalam set ujian asal direkodkan dan sepadan dengan 19 fail ujian satu oleh seorang. Sebagai contoh, baris setiap sampel jenis pertama "perpecahan khabar angin" dalam teks asal direkodkan dalam fail indeks dan disimpan dalam fail index1.txt, index2.txt...
Idea Soalan Penyelesaian
1 Soalan pertama adalah untuk menguji pengetahuan kami tentang operasi dan senarai Kesukaran utama adalah untuk membaca fail baru selepas memprosesnya mengikut keperluan, kami akan menjana fail txt. Mari kita lihat pelaksanaan kod khusus:
import os # 创建一个列表用来存储新的内容 list = [] with open("task1.trainSentence.new", "r",encoding='xxx') as file_input: # 打开.new文件,xxx根据自己的编码格式填写 with open("exp1_1.txt", "w", encoding='xxx') as file_output: # 打开exp1_1.txt,xxx根据自己的编码格式填写文件如果没有就创建一个 for Line in file_input: # 遍历每一行的文件 arr = Line.split('\t') # 以\t为分隔符读取 if arr[0] not in list: # if the word is not in the list list.append(arr[0]) # add the word to the list file_output.write(arr[0]+"\t"+arr[1]+"\t"+arr[2]+"\t"+arr[3]+"\t"+arr[4]+"\n") # write the line to the file file_input.close() #关闭.new文件 file_output.close() #关闭创建的txt文件
2. Soalan kedua masih meneliti operasi fail Berdasarkan fail yang dihasilkan dalam soalan 1, peristiwa dikelaskan mengikut jenis yang sama acara untuk melihat sama ada ia boleh dikumpulkan dengan cekap untuk menyelesaikan, mari kita lihat
pelaksanaan kod
import os file_1 = open("exp1_1.txt", encoding='xxx') # 打开文件,xxx根据自己的编码格式填写 os.mkdir("exp1_train") # 创建目录 os.chdir("exp1_train") # 修改进程的工作目录(使用该目录) a = file.readline() # 按行读取exp1_1.txt文件 arr = a.split("\t") # 按\t间隔符作为分割 b = 1 #设置分组文件的序列 file_2 = open("{}.txt".format(b), "w", encoding="xxx") # 打开文件,xxx根据自己的编码格式填写 for line in file_1: # 按行读取文件 arr_1 = line.split("\t") # 按\t间隔符作为分割 if arr[0] != arr_1[0]: # 如果读取文件的第一列内容与存入新文件的第一列类型不同 file_2.close() # 关掉该文件 b += 1 # 文件序列加一 f_2 = open("{}.txt".format(b), "w", encoding="xxx") # 创建新文件,以另一种类型分类,xxx根据自己的编码格式填写 arr = line.split("\t") # 按\t间隔符作为分割 f_2.write(arr[0]+"\t"+arr[1]+"\t"+arr[2]+"\t"+arr[3]+"t"+arr[4]+"\t""\n") # 将相同类型的文件写入 f_1.close() # 关闭题目一创建的exp1_1.txt文件 f_2.close() # 关闭创建的最后一个类型的文件
3 kategori set latihan mengikut perhubungan antara watak, kita boleh merentasi data melalui kamus, mencari perhubungan, meletakkan kandungan dengan perhubungan yang sama ke dalam folder, dan mencipta yang baharu jika ia berbeza.
import os with open("exp1_1.txt", encoding='xxx') as file_in1: # 打开文件,xxx根据自己的编码格式填写 i = 1 # 类型序列 arr2 = {} # 创建字典 for line in file_in1: # 按行遍历 arr3 = line[0:2] # 读取关系 if arr3 not in arr2.keys(): arr2[arr3] = i i += 1 # 类型+1 file_in = open("task1.test.new") # 打开文件task1.test.new os.mkdir("exp1_test") # 创建目录 os.chdir("exp1_test") # 修改进程的工作目录(使用该目录) for line in file_in: arr = line[0:2] with open("{}_test.txt".format(arr2[arr]), "a", encoding='xxx') as file_out: arr = line.split('\t') file_out.write(line) i = 1 file_in.seek(0) os.mkdir("exp1_index") os.chdir("exp1_index") for line in file_in: arr = line[0:2] with open("index{}.txt".format(arr2[arr]), "a", encoding='xxx') as file_out: arr = line.split('\t') line = line[0:-1] file_out.write(line + '\t' + "{}".format(i) + "\n") i += 1
Gunakan python untuk memproses data berangka
Tujuan percubaan
Kenal dengan struktur data asas python, serta input dan output fail.
Data eksperimen
Pertandingan xx Tianchi dalam xxx juga merupakan data Cabaran Data Besar ke-x universiti China. Data termasuk dua jadual, iaitu jadual tingkah laku pengguna mars_tianchi_user_actions.csv dan jadual artis lagu mars_tianchi_songs.csv. Pertandingan ini membuka sampel data artis lagu, serta rekod sejarah tingkah laku pengguna yang berkaitan dengan artis ini dalam tempoh 6 bulan (20150301-20150831). Peserta perlu meramalkan data main balik artis untuk 2 bulan akan datang, iaitu 60 hari (20150901-20151030).
Kandungan percubaan
-
Proses data artis lagu mars_tianchi_songs dan kira bilangan artis dan bilangan lagu untuk setiap artis. Format fail output ialah exp2_1.csv Lajur pertama ialah ID artis dan lajur kedua ialah bilangan lagu oleh artis. Baris terakhir mengeluarkan bilangan artis.
Gabungkan jadual tingkah laku pengguna dan jadual artis lagu ke dalam satu jadual besar menggunakan song_id lagu sebagai persatuan. Nama lajur pertama hingga kelima bagi setiap lajur adalah konsisten dengan nama lajur jadual tingkah laku pengguna, dan nama lajur keenam hingga kesepuluh ialah nama lajur lajur kedua hingga keenam dalam jadual artis lagu. Nama fail output ialah exp2_2.csv.
Mengikut statistik artis, volum main balik semua lagu setiap artis setiap hari dikira Fail output ialah exp2_3.csv. Setiap lajur dinamakan id artis, tarikh Ds dan jumlah kelantangan main balik lagu. Nota: Hanya bilangan lagu yang dimainkan dikira di sini, bukan bilangan muat turun dan koleksi.
Idea penyelesaian masalah: (menggunakan perpustakaan panda)
1.
(1) Gunakan .drop_duplicates() untuk memadamkan nilai pendua
(2) Gunakan .loc[:,‘artist_id’].value_counts() untuk mengetahui bilangan kali penyanyi itu mengulangi, iaitu bilangan lagu bagi setiap penyanyi
( 3) Gunakan .loc[:,‘ songs_id’].value_counts() Ketahui jika tiada lagu pendua
import pandas as pd data = pd.read_csv(r"C:\mars_tianchi_songs.csv") # 读取数据 Newdata = data.drop_duplicates(subset=['artist_id']) # 删除重复值 artist_sum = Newdata['artist_id'].count() #artistChongFu_count = data.duplicated(subset=['artist_id']).count() artistChongFu_count = data.loc[:,'artist_id'].value_counts() 重复次数,即每个歌手的歌曲数目 songChongFu_count = data.loc[:,'songs_id'].value_counts() # 没有重复(歌手) artistChongFu_count.loc['artist_sum'] = artist_sum # 没有重复(歌曲)artistChongFu_count.to_csv('exp2_1.csv') # 输出文件格式为exp2_1.csv
Gunakan merge() untuk menggabungkan dua jadual
import pandas as pd import os data = pd.read_csv(r"C:\mars_tianchi_songs.csv") data_two = pd.read_csv(r"C:\mars_tianchi_user_actions.csv") num=pd.merge(data_two, data) num.to_csv('exp2_2.csv')
Gunakan groupby( )[].sum() untuk penambahan berulang
import pandas as pd data =pd.read_csv('exp2_2.csv') DataCHongfu = data.groupby(['artist_id','Ds'])['gmt_create'].sum()#重复项相加DataCHongfu.to_csv('exp2_3.csv')
Atas ialah kandungan terperinci Bagaimana untuk memanipulasi data teks menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版
Alat pembangunan web visual
