ホームページ >バックエンド開発 >Python チュートリアル >データ処理にパンダを使用する DataFrame

データ処理にパンダを使用する DataFrame

coldplay.xixi
coldplay.xixi転載
2020-09-15 16:20:054342ブラウズ

データ処理にパンダを使用する DataFrame

# 関連する学習の推奨事項:

Python チュートリアル

##これは
pandas データ処理トピック

の 2 番目の記事では、パンダの最も重要なデータ構造である DataFrame について話しましょう。 前回の記事では、Series の使い方を紹介し、Series が一次元配列に相当することにも触れましたが、pandas には便利で使いやすい API が数多くカプセル化されています。 DataFrame は、

Series で構成される dict

として単純に理解でき、データが 2 次元のテーブルに結合されます。また、テーブルレベルのデータ処理とバッチデータ処理のための多くのインターフェイスも提供するため、データ処理の難しさが大幅に軽減されます。

DataFrame は表形式のデータ構造であり、2 つのインデックス、つまり

Row インデックスがあります。と列インデックス

を使用すると、対応する行と列を簡単に取得できます。これにより、データ処理用のデータを見つける難しさが大幅に軽減されます。 まず、最も単純な DataFrame の作成方法から始めましょう。

キーが次のような辞書を作成します。列名、値はリストです。この dict を DataFrame コンストラクターに渡すと、
key を列名、value を対応する値として使用して DataFrame が作成されます。

jupyter で出力すると、DataFrame の内容が表形式で自動的に表示されます。

numpy データから作成 はその番号をインデックスとして使用して列

を作成します。作成時に、列フィールドの文字列のリストを渡して列名を指定します。

ファイルからの読み取り

pandas のもう 1 つの非常に強力な機能は、次のことです。 さまざまな形式のファイルからデータを読み取り、一般的に使用される Excel、CSV、さらにはデータベースなどの DataFrame を作成します。

Excel、csv、json などの構造化データの場合、pandas は特別な API を提供します。対応する API を見つけて使用できます。

特別な形式であっても問題ありませんが、さまざまなテキスト ファイルからデータを読み取り、区切り文字 やその他のパラメータを渡すことで作成が完了する read_table を使用します。たとえば、PCA の次元削減効果を検証した前回の記事では、.data 形式のファイルからデータを読み取りました。このファイルの列間の区切り文字はスペースであり、カンマや csv の表文字ではありません。 sep パラメータ から を渡し、区切り文字を指定してデータの読み取りを完了します。

このヘッダー パラメーターは、ファイルのどの行がデータの列名として使用されるかを示します。デフォルトの header=0 は、最初の行が列名として使用されます。データ内に列名が存在しない場合は、header=None を指定する必要があります。指定しないと問題が発生します。マルチレベルの列名を使用する必要があることはほとんどないため、一般に最も一般的に使用される方法は、デフォルト値を取得するか、デフォルト値を None に設定することです。

DataFrame を作成するこれらすべての メソッドの中で、最も一般的に使用されるのは最後のメソッド (ファイルからの読み取り) です。というのも、Kaggle で機械学習をしたり、コンペに参加したりするときは、データがあらかじめ用意されており、ファイルの形で渡されることが多く、自分でデータを作成する必要があるケースはほとんどありません。実際の作業シナリオの場合、データはファイルに保存されませんが、ソースが存在し、通常はいくつかのビッグ データ プラットフォームに保存され、モデルはこれらのプラットフォームからトレーニング データを取得します。

したがって、一般に、DataFrame を作成する他の方法を使用することはほとんどなく、ファイルから読み取る方法をある程度理解し、習得することに重点を置いています。

#一般的な操作

#パンダの一般的な操作をいくつか紹介します。これらの操作は、私がパンダの使い方を学ぶ前に実行したものです。体系的に、すでに理解されています。理解する理由も非常にシンプルで、あまりにも一般的に使われており、

知っておくべき常識内容と言えるからです。

データの表示

Jupyter で DataFrame インスタンスを実行すると、DataFrame 内のすべてのデータが出力されますデータの行数が多すぎる場合、中央の部分が省略記号の形で省略されます。大量のデータを含む DataFrame の場合、通常はこのように直接出力して表示するのではなく、最初の数個または最後の数個のデータを表示することを選択します。ここでは 2 つの API が必要です。

最初の数個のデータを表示するメソッドは head と呼ばれ、パラメータを受け取り、それを指定することで先頭から指定した数のデータを表示できます。

最初の数項目を表示する API があるため、最後の数項目を表示する API もあり、このような API を

tail## と呼びます#。これにより、DataFrame 内の最後に指定した数のデータを表示できます。

DataFrame については、実際には Series で構成される dict と同等であると前述しました。 dict なので、キー値に基づいて指定された Series を自然に取得できます。

DataFrame で指定された列を取得するには 2 つの方法があります。

列名を追加する

または find 要素を dict でクエリすることができます:

同時に複数の列を読み取ることもできます
.複数の列がある場合、サポートされる方法は 1 つだけで、それは dict を使用して要素をクエリすることです。これにより、受信リストを受信し、リスト内の列に対応するデータを見つけることができます。返される結果は、これらの新しい列で構成される新しい DataFrame です。

del を使用して不要な列を削除できます:

新しい列を作成する 列も非常に単純です。

dict 割り当てと同じように、DataFrame に値を直接割り当てることができます:

割り当てられたオブジェクトは、実数のみ、

配列も可能です:

特定の列を変更するのは非常に簡単です。また、元のデータを上書きすることもできます。同じ割り当て方法です。

numpy 配列に変換

#パンダを使用していて、対応する配列を取得したい場合に不便な場合があります。元のデータでは、直接

.values を使用して、DataFrame に対応する numpy 配列を取得できます。

DataFrame の各列なので、別の型 を持ち、numpy 配列に変換された後、すべてのデータは同じ型を共有します。その後、パンダはすべての列に共通の型を見つけます。そのため、オブジェクト型が取得されることがよくあります。したがって、.values を使用する前に型をチェックして、型によるエラーが発生しないことを確認することをお勧めします。

概要

今日の記事では、DataFrame と Series の関係について学び、DataFrame についてもいくつか学びました。基本と一般的な使い方。 DataFrame は、Series で構成される辞書とほぼ見なすことができますが、実際には別のデータ構造として、多くの独自の API を持ち、多くの複雑な操作をサポートし、データを処理するための強力なツールでもあります。

専門組織は統計を作成しています。アルゴリズム エンジニアの場合、時間の約 70% がデータ処理に費やされます。実際にモデルの作成やパラメータの調整に費やされる時間は 20% 未満である可能性があり、データ処理の必要性と重要性がわかります。 Python の分野において、pandas はデータ処理に最適なメスでありツールボックスですので、ぜひ皆さんにも使いこなしていただきたいと思います。

プログラミングについてさらに詳しく知りたい場合は、php training 列に注目してください。

以上がデータ処理にパンダを使用する DataFrameの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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