Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Lima skrip Python yang mudah dan berkesan untuk membersihkan data anda

Lima skrip Python yang mudah dan berkesan untuk membersihkan data anda

WBOY
WBOYke hadapan
2023-04-12 18:31:071525semak imbas

Tukar PDF kepada CSV

Lima skrip Python yang mudah dan berkesan untuk membersihkan data anda

Dalam pembelajaran mesin, kita harus kurang melakukan "pembersihan data" dan lebih banyak "penyediaan data". Skrip ini menjimatkan banyak masa saya apabila kita perlu mengikis data daripada kertas putih, e-buku atau dokumen PDF lain.

import tabula
#获取文件
pdf_filename = input ("Enter the full path and filename: ")
# 提取PDF的内容
frame = tabula.read_pdf(pdf_filename,encoding = 'utf-8', pages='all')
#根据内容创建CSV文件
frame.to_csv('pdf_conversion.csv')

Ini ialah kaedah yang agak mudah untuk mengekstrak data dengan cepat sebelum mengimport data ke dalam pangkalan data pembelajaran mesin, Tableau atau Count dan alatan lain.

Gabungkan fail CSV

Banyak sistem akan menawarkan pilihan eksport ke CSV, tetapi tiada cara untuk menggabungkan data dahulu sebelum mengeksportnya. Ini mungkin menyebabkan lebih daripada 5 fail dieksport ke folder yang mengandungi jenis data yang sama. Skrip Python ini menyelesaikan masalah ini dengan mengambil fail ini) dan menggabungkannya ke dalam satu fail.

from time import strftime
import pandas as pd
import glob
# 定义包含CSV文件的文件夹的路径
path = input('Please enter the full folder path: ')
#确保后面有一个斜杠
if path[:-1] != "/":
path = path + "/"
#以列表形式获取CSV文件
csv_files = glob.glob(path + '*.csv')
#打开每个CSV文件并合并为一个文件
merged_file = pd.concat( [ pd.read_csv(c) for c in csv_files ] )
#创建新文件
merged_file.to_csv(path + 'merged_{}.csv'.format(strftime("%m-%d-%yT%H:%M:%S")), index=False)
print('Merge complete.')

Output akhir akan memberi anda fail CSV yang mengandungi semua data dalam senarai CSV yang anda eksport daripada sistem sumber.

Alih Keluar Baris Pendua daripada Fail CSV

Jika anda perlu mengalih keluar baris data pendua daripada fail CSV, ini boleh membantu anda melaksanakan operasi pembersihan dengan cepat. Apabila set data pembelajaran mesin mempunyai data pendua, ini boleh memberi kesan secara langsung kepada hasil dalam alat visualisasi atau projek pembelajaran mesin.

import pandas as pd
# 获取文件名
filename = input('filename: ')
#定义要检查是否重复的CSV列名
duplicate_header = input('header name: ')
#获取文件的内容
file_contents = pd.read_csv(filename)
# 删除重复的行
deduplicated_data = file_contents.drop_duplicates(subset=[duplicate_header], keep="last", inplace=True)
#创建新文件
deduplicated_data.to_csv('deduplicated_data.csv')

Pisah lajur CSV

Apabila mengeksport fail daripada sistem lain, kadangkala ia mengandungi satu lajur data dan kami memerlukannya sebagai dua lajur.

import pandas as pd
#获取文件名并定义列
filename = input('filename: ')
col_to_split = input('column name: ')
col_name_one = input('first new column: ')
col_name_two = input('second new column: ')
#将CSV数据添加到dataframe中
df = pd.read_csv(filename)
# 拆分列
df[[col_name_one,col_name_two]] = df[col_to_split].str.split(",", expand=True)
#创建新csv文件
df.to_csv('split_data.csv')

Gabungkan set data yang berbeza

Andaikan anda mempunyai senarai akaun dan pesanan yang dikaitkan dengannya dan ingin melihat sejarah pesanan bersama butiran akaun yang berkaitan. Cara yang baik untuk melakukan ini ialah dengan menggabungkan data ke dalam fail CSV.

import pandas as pd
#获取文件名并定义用户输入
left_filename = input('LEFT filename: ')
right_filename = input('RIGHT filename: ')
join_type = input('join type (outer, inner, left, right): ')
join_column_name = input('column name(i.e. Account_ID): ')
#读取文件到dataframes
df_left = pd.read_csv(left_filename)
df_right = pd.read_csv(right_filename)
#加入dataframes
joined_data = pd.merge(left = df_left, right = df_right, how = join_type, on = join_column_name)
#创建新的csv文件
joined_data.to_csv('joined_data.csv')

Akhir sekali

Skrip ini boleh membantu kami membersihkan data secara automatik dan kemudian memuatkan data yang telah dibersihkan ke dalam model pembelajaran mesin untuk diproses. Pandas ialah perpustakaan pilihan untuk memanipulasi data kerana ia menawarkan begitu banyak pilihan.

Atas ialah kandungan terperinci Lima skrip Python yang mudah dan berkesan untuk membersihkan data anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam