ホームページ  >  記事  >  バックエンド開発  >  データをクリーンアップするための 5 つのシンプルで効果的な Python スクリプト

データをクリーンアップするための 5 つのシンプルで効果的な Python スクリプト

WBOY
WBOY転載
2023-04-12 18:31:071520ブラウズ

PDF を CSV に変換

データをクリーンアップするための 5 つのシンプルで効果的な 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 スクリプトは、これらのファイルを取得し、1 つのファイルにマージすることでこの問題を解決します。

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 列の分割

他のシステムからファイルをエクスポートする場合、2 列として必要なデータが 1 列含まれていることがあります。

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 は、非常に多くのオプションを提供するため、データ操作に最適なライブラリです。

以上がデータをクリーンアップするための 5 つのシンプルで効果的な Python スクリプトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。