検索
ホームページバックエンド開発Python チュートリアルpandas データのクリーニングに関する重要なヒントを明らかにします。
pandas データのクリーニングに関する重要なヒントを明らかにします。Jan 24, 2024 am 09:43 AM
スキルpandasデータクリーニング

pandas データのクリーニングに関する重要なヒントを明らかにします。

パンダのデータクリーニングテクニックが明らかに!

はじめに:

データ分析と機械学習において、データ クリーニングは非常に重要なステップです。これには、データをフォーマットと構造に整理するために、データ セットの前処理、変換、フィルタリングが含まれます。私たちには必要です。 Pandas は、Python で最も人気のある強力なデータ分析ライブラリの 1 つであり、豊富で柔軟なデータ クリーニング ツールと操作方法を提供します。この記事では、pandas データ クリーニングの基本的なテクニックをいくつか明らかにし、読者がこれらのテクニックをよりよく理解して適用できるように、具体的なコード例を示します。

1. pandas ライブラリとデータ セットをインポートする

開始する前に、まず pandas ライブラリをインストールする必要があります。インストールが完了したら、次のコードを使用して pandas ライブラリをインポートし、クリーンアップする必要があるデータ セットをロードできます。

import pandas as pd

# 导入数据集
data = pd.read_csv('data.csv')

2. データ セットの表示

データ クリーニングを実行する前に、まずデータ セットの構造と内容を理解する必要があります。 pandas は、head()tail()shapeinfo()wait など、データセットを表示するためによく使用される関数をいくつか提供します。 。

コード例:

# 查看前五行数据
print(data.head())

# 查看后五行数据
print(data.tail())

# 查看数据集的维度
print(data.shape)

# 查看数据集的基本信息
print(data.info())

3. 欠損値の処理

欠損値はデータセットでよく遭遇する問題の 1 つであり、実際のデータでは非常に一般的です。セット。 Pandas には、欠損値を処理するいくつかの方法が用意されています。欠損値を処理する一般的な方法には、削除、埋め込み、補間などがあります。

  1. 欠損値の削除

欠損値の削除は最も単純な処理方法の 1 つですが、使用には注意が必要です。 pandas では、dropna() 関数を使用して、欠損値を含む行または列を削除できます。

コード例:

# 删除包含缺失值的行
data.dropna(axis=0, inplace=True)

# 删除包含缺失值的列
data.dropna(axis=1, inplace=True)
  1. 欠損値の補充

欠損値の補充は、定数または他の値を使用できるもう 1 つの一般的な処理方法です。データセット内で欠損値を埋めます。 pandas では、fillna() 関数を使用して欠損値を埋めることができます。

コード例:

# 使用0填充缺失值
data.fillna(0, inplace=True)

# 使用平均值填充缺失值
data.fillna(data.mean(), inplace=True)
  1. 欠損値の補間

欠損値の補間は、既知のデータに基づく、より高度な処理方法です。欠損値を代入する機能。 pandas では、interpolate() 関数を使用して補間処理を実行できます。

コード例:

# 线性插值处理缺失值
data.interpolate(method='linear', inplace=True)

# 拟合插值处理缺失值
data.interpolate(method='quadratic', inplace=True)

4. 重複値の処理

重複値は、データ セットのもう 1 つの一般的な問題であり、データ分析とモデリングの逸脱につながる可能性があります。 pandas は、duplicated()drop_duplicates() など、重複した値を処理するための関数をいくつか提供します。

  1. 重複値の検索

duplicated() 関数を使用して、データ セット内の重複値を検索できます。この関数は、各要素が繰り返されるかどうかに関する情報を含む Boolean Series オブジェクトを返します。

コード例:

# 查找重复值
duplicated_data = data.duplicated()

# 打印重复值
print(duplicated_data)
  1. 重複値の削除

drop_duplicates() 関数を使用して重複値を削除できます。データセット内。この関数は、重複排除された新しいデータ セットを返します。

コード例:

# 删除重复值
data.drop_duplicates(inplace=True)

5. 外れ値の処理

外れ値はデータセット内の異常な観測値であり、データの分布やモデルのフィッティングに悪影響を与える可能性があります。 。 Pandas は、箱ひげ図、Z スコア、IQR など、外れ値を特定して処理するためのいくつかの関数とメソッドを提供します。

  1. 箱ひげ図

箱ひげ図は、一般的に使用される外れ値検出方法であり、データ セットに外れ値があるかどうかを判断するために使用できます。 boxplot() 関数を使用すると、箱ひげ図を描画し、箱ひげ図内の外れ値を観察することで外れ値を特定できます。

コード例:

# 绘制箱线图
data.boxplot(column='value', figsize=(10, 6))

# 显示图像
plt.show()
  1. z-score

z-score は、データを標準化し、観測値の逸脱を判断するために使用できる統計的な概念です。平均から。 pandas では、zscore() 関数を使用して Z スコアを計算し、しきい値を設定して外れ値があるかどうかを判断できます。

コード例:

# 计算z-score
z_scores = (data - data.mean()) / data.std()

# 判断是否存在异常值
outliers = z_scores[(z_scores > 3) | (z_scores < -3)]

# 显示异常值
print(outliers)
  1. IQR

IQR (四分位範囲) は、4 次元の計算によって計算できる計算概念です。データセットの範囲 外れ値の範囲を決定するための分位差。 pandas では、quantile() 関数を使用して四分位数を計算し、IQR 式を使用して外れ値があるかどうかを判断できます。

コード例:

# 计算四分位差
Q1 = data.quantile(0.25)
Q3 = data.quantile(0.75)
IQR = Q3 - Q1

# 判断是否存在异常值
outliers = data[((data < (Q1 - 1.5 * IQR)) | (data > (Q3 + 1.5 * IQR))).any(axis=1)]

# 显示异常值
print(outliers)

6. データ型の変換

データ型はデータセットの重要な属性であり、保存方法、計算方法、視覚化方法に関係します。データです。お待​​ちください。 pandas では、astype() 関数を使用してデータ型を変換できます。

コード例:

# 将字符串类型转换为整数类型
data['column'] = data['column'].astype(int)

# 将浮点型转换为整数类型
data['column'] = data['column'].astype(int)

# 将字符串类型转换为日期类型
data['column'] = pd.to_datetime(data['column'])

7. その他の一般的な操作

上記のデータ クリーニング手法に加えて、pandas は列名の変更など、その他の一般的に使用されるデータ クリーニング操作も提供します。 、列の分割、列の結合など。

  1. 列名の変更

rename() 関数を使用して、データ セット内の列の名前を変更できます。

コード例:

# 重命名列
data.rename(columns={'old_name': 'new_name'}, inplace=True)
  1. 列の分割

関数 str.split() を使用して、次の内容を含む列を分割できます。 multiple 値の列が複数の列に分割されます。

コード例:

# 拆分列
new_columns = data['column'].str.split(',', expand=True)

# 重新命名新列
new_columns.columns = ['column1', 'column2', 'column3']

# 合并新列到数据集
data = pd.concat([data, new_columns], axis=1)
  1. 列の結合

pd.merge() 関数を使用して複数の列を結合できます。データセット列。

コード例:

# 新数据集1
data1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})

# 新数据集2
data2 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value2': [4, 5, 6]})

# 合并数据集
merged_data = pd.merge(data1, data2, on='key')

# 打印合并后的数据集
print(merged_data)

概要:

この記事では、一般的に使用されるパンダのデータ クリーニング手法をいくつか紹介し、具体的なコード例を示します。これらの手法には、欠損値の処理、重複値の処理、外れ値の処理、データ型の変換、その他の一般的な操作が含まれます。これらのテクニックを学習して適用することで、読者はデータをより適切に処理して準備できるようになり、その後のデータ分析とモデリングのための強固な基盤を築くことができます。もちろん、この記事で紹介したテクニック以外にも、pandas には他にも多くの機能やメソッドがあり、読者はさらに学習し、自分のニーズや実際の状況に応じて応用することができます。

以上がpandas データのクリーニングに関する重要なヒントを明らかにします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
python pandas安装方法python pandas安装方法Nov 22, 2023 pm 02:33 PM

python可以通过使用pip、使用conda、从源代码、使用IDE集成的包管理工具来安装pandas。详细介绍:1、使用pip,在终端或命令提示符中运行pip install pandas命令即可安装pandas;2、使用conda,在终端或命令提示符中运行conda install pandas命令即可安装pandas;3、从源代码安装等等。

日常工作中,Python+Pandas是否能代替Excel+VBA?日常工作中,Python+Pandas是否能代替Excel+VBA?May 04, 2023 am 11:37 AM

知乎上有个热门提问,日常工作中Python+Pandas是否能代替Excel+VBA?我的建议是,两者是互补关系,不存在谁替代谁。复杂数据分析挖掘用Python+Pandas,日常简单数据处理用Excel+VBA。从数据处理分析能力来看,Python+Pandas肯定是能取代Excel+VBA的,而且要远远比后者强大。但从便利性、传播性、市场认可度来看,Excel+VBA在职场工作上还是无法取代的。因为Excel符合绝大多数人的使用习惯,使用成本更低。就像Photoshop能修出更专业的照片,为

如何使用Python中的Pandas按特定列合并两个CSV文件?如何使用Python中的Pandas按特定列合并两个CSV文件?Sep 08, 2023 pm 02:01 PM

CSV(逗号分隔值)文件广泛用于以简单格式存储和交换数据。在许多数据处理任务中,需要基于特定列合并两个或多个CSV文件。幸运的是,这可以使用Python中的Pandas库轻松实现。在本文中,我们将学习如何使用Python中的Pandas按特定列合并两个CSV文件。什么是Pandas库?Pandas是一个用于Python信息控制和检查的开源库。它提供了用于处理结构化数据(例如表格、时间序列和多维数据)以及高性能数据结构的工具。Pandas广泛应用于金融、数据科学、机器学习和其他需要数据操作的领域。

pandas写入excel有哪些方法pandas写入excel有哪些方法Nov 22, 2023 am 11:46 AM

pandas写入excel的方法有:1、安装所需的库;2、读取数据集;3、写入Excel文件;4、指定工作表名称;5、格式化输出;6、自定义样式。Pandas是一个流行的Python数据分析库,提供了许多强大的数据清洗和分析功能,要将Pandas数据写入Excel文件,可以使用Pandas提供的“to_excel()”方法。

时间序列特征提取的Python和Pandas代码示例时间序列特征提取的Python和Pandas代码示例Apr 12, 2023 pm 05:43 PM

使用Pandas和Python从时间序列数据中提取有意义的特征,包括移动平均,自相关和傅里叶变换。前言时间序列分析是理解和预测各个行业(如金融、经济、医疗保健等)趋势的强大工具。特征提取是这一过程中的关键步骤,它涉及将原始数据转换为有意义的特征,可用于训练模型进行预测和分析。在本文中,我们将探索使用Python和Pandas的时间序列特征提取技术。在深入研究特征提取之前,让我们简要回顾一下时间序列数据。时间序列数据是按时间顺序索引的数据点序列。时间序列数据的例子包括股票价格、温度测量和交通数据。

pandas如何读取txt文件pandas如何读取txt文件Nov 21, 2023 pm 03:54 PM

pandas读取txt文件的步骤:1、安装Pandas库;2、使用“read_csv”函数读取txt文件,并指定文件路径和文件分隔符;3、Pandas将数据读取为一个名为DataFrame的对象;4、如果第一行包含列名,则可以通过将header参数设置为0来指定,如果没有,则设置为None;5、如果txt文件中包含缺失值或空值,可以使用“na_values”指定这些缺失值。

pandas怎么读取csv文件pandas怎么读取csv文件Dec 01, 2023 pm 04:18 PM

读取CSV文件的方法有使用read_csv()函数、指定分隔符、指定列名、跳过行、缺失值处理、自定义数据类型等。详细介绍:1、read_csv()函数是Pandas中最常用的读取CSV文件的方法。它可以从本地文件系统或远程URL加载CSV数据,并返回一个DataFrame对象;2、指定分隔符,默认情况下,read_csv()函数将使用逗号作为CSV文件的分隔符等等。

4000字详细说明,推荐20个好用到爆的Pandas函数方法4000字详细说明,推荐20个好用到爆的Pandas函数方法Aug 10, 2023 pm 02:52 PM

今天分享几个不为人知的pandas函数,大家可能平时看到的不多,但是使用起来倒是非常的方便,也能够帮助我们数据分析人员大幅度地提高工作效率,同时也希望大家看完之后能够有所收获。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。