目錄
將 PDF 轉換為 CSV
合併 CSV 檔案
從 CSV 檔案中刪除重複的行
拆分 CSV 列
合併不同的資料集
最後
首頁 後端開發 Python教學 用於清理資料的五個簡單有效 Python 腳本

用於清理資料的五個簡單有效 Python 腳本

Apr 12, 2023 pm 06:31 PM
python 機器學習 腳本

將 PDF 轉換為 CSV

用於清理資料的五個簡單有效 Python 腳本

在機器學習中,我們應該少一些“資料清理”,多一些“資料準備”。當我們需要從白皮書、電子書或其他PDF文件中抓取資料時,這個腳本為我節省了很多時間。

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')
登入後複製

這是一種相對簡單的快速提取資料的方法,可以在將資料匯入機器學習資料庫、Tableau或Count等工具。

合併 CSV 檔案

許多系統會提供匯出到CSV選項,但是沒有辦法在匯出資料之前先合併資料。這可能會導致5個以上的文件匯出到一個資料夾,這些文件包含相同的資料類型。這個Python腳本透過取得這些檔案)並將它們合併到一個檔案中來解決這個問題。

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.')
登入後複製

最終輸出將為您提供一個 CSV 文件,其中包含您從來源系統匯出的 CSV 清單中的所有資料。

從 CSV 檔案中刪除重複的行

如果您需要從CSV檔案中刪除重複的資料行,這可以幫助您快速執行清理操作。當機器學習資料集中擁有重複資料時,這會直接影響視覺化工具或機器學習專案中的結果。

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')
登入後複製

拆分 CSV 列

當從其他系統匯出檔案時,它有時會包含一列數據,而我們需要將其作為兩列。

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')
登入後複製

合併不同的資料集

假設您有一個帳戶清單和與其關聯的訂單,並希望查看訂單歷史記錄以及關聯的帳戶詳細資訊。一個很好的方法就是透過合併資料到一個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')
登入後複製

最後

這些腳本可以有效幫助我們進行自動化清理數據,然後可以將清理後的資料載入到機器學習模型中進行處理。 Pandas是操作資料的首選庫,因為它提供了許多的選項。

#

以上是用於清理資料的五個簡單有效 Python 腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用C++實現機器學習演算法:常見挑戰及解決方案 使用C++實現機器學習演算法:常見挑戰及解決方案 Jun 03, 2024 pm 01:25 PM

使用C++實現機器學習演算法:常見挑戰及解決方案

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2

怎麼下載deepseek 小米 怎麼下載deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎麼下載deepseek 小米

可解釋性人工智慧:解釋複雜的AI/ML模型 可解釋性人工智慧:解釋複雜的AI/ML模型 Jun 03, 2024 pm 10:08 PM

可解釋性人工智慧:解釋複雜的AI/ML模型

你所不知道的機器學習五大學派 你所不知道的機器學習五大學派 Jun 05, 2024 pm 08:51 PM

你所不知道的機器學習五大學派

deepseek怎麼問他 deepseek怎麼問他 Feb 19, 2025 pm 04:42 PM

deepseek怎麼問他

deepseek該怎麼搜索 deepseek該怎麼搜索 Feb 19, 2025 pm 05:18 PM

deepseek該怎麼搜索

C++技術中的機器學習:使用C++實作常見機器學習演算法的指南 C++技術中的機器學習:使用C++實作常見機器學習演算法的指南 Jun 03, 2024 pm 07:33 PM

C++技術中的機器學習:使用C++實作常見機器學習演算法的指南

See all articles