パンダをマスターする:あなたの次のプロジェクトのための重要なパンダ機能
公開: 2020-11-30Pandasライブラリは、その使いやすい性質、幅広い機能、および結果のより優れた解釈により、すべてのデータサイエンティストまたはアナリストに常に人気があります。 データサイエンスの旅を始める個人は、パンダを上手に使いこなし、データのクリーニングと前処理の手作業を減らすためのパイプラインを考え出すことをお勧めします。
PandasはNumpy上に構築されているため、コマンドをより高速に実行し、より短い時間で作業を行うことができます。 この記事では、プロジェクトのコード品質を向上させることができる過小評価されているパンダ関数をいくつか紹介します。
先に進む前に、簡単な凡例を示します。
- 上記のすべてのコマンドは、データフレームの名前がpd.DataFrame()のオブジェクトである「df」であることを前提としています。
- Pandasライブラリはエイリアスとして「pd」としてインポートされています。
目次
文字列アクセサ
文字列またはテキストデータは、データセットの大部分を占めています。 著者、タイトル、本の出版物、または特定のハッシュタグに対して作成されたツイートに関連する情報であるかどうかにかかわらず、多くのテキストデータがあり、このデータは適切にクリーンアップしてNaiveBayesなどの分類器にフィードすると便利です。 。適用できるトリックは次のとおりです。
- 文字列型データにアクセスするには、「str」アクセサーを使用します。 たとえば、df['column_name']。str
- これにより、選択した列に対してすべての文字列操作を実行できます。
- 一般的な操作には、次のものがあります。
- df ['column_name']。str.len():各文字列の長さ
- .str.split():特定の文字で分割
- .str.contains():特定の単語が文字列に存在するかどうかに関するT/Fを返します
- .str.count():渡された正規表現を満たす行の数を返します。
- .str.findall():渡された式に一致する結果を返します。
- .str.replace():findallと同じですが、ここで一致したアイテムの置換が発生します
- .title、.isalpha、.isalnum、.isdecimalなどのすべての文字列操作がサポートされています。
また読む:パンダデータフレームAstype
日時アクセサ
日付と時刻は通常、タイムスタンプ、開始時刻、終了時刻、またはそのイベントに関連するその他のタイミングの形式でデータセットに存在します。 このデータを適切に解析すると、将来のイベントを予測するために出力できるタイムラインに沿った傾向が得られるため、または時系列分析として引用と呼ばれるため、便利です。 いくつかの便利なコマンドを見てみましょう。
- DateTimeデータにアクセスするには、pd.to_datetime()関数を使用して、現在のデータ型(日付値は文字列またはオブジェクトとして解析されます)をDateTimeに変換します。
- これで、「。dt」アクセサーを使用して、次のような必要なDateTime情報にアクセスできます。
- df ['column_name']。dt.day:日付の日を返します。
- .dt.time:時間
- .dt.year:日付の年
- .dt.month:日付の月
- .dt.weekday:日曜日か月曜日か…数値形式で、0は月曜日を表します。 日の名前が必要な場合は、.dt.day_nameを使用します
- .dt.is_month_start:日付が月の最初であるかどうかに応じてT/Fを返します。
- .dt.is_month_end month_startと同じ機能ですが、ここでは月の最終日が確認されます。
- .dt.quater:日付がどの四半期にあるかを返します
- .dt.is_quater_start:日付が四半期の初日であるかどうかにかかわらずT/Fを返します
- .dt.is_quater_end:四半期の最終日かどうか
- .dt.normalize:時間コンポーネントが分析に価値のある貢献を追加しない場合、それは無視できます。 このコマンドは、時刻を深夜、つまり00:00:00に丸めます。
パンダプロット
視覚化のプロットは、データ分析の重要なコンポーネントの1つであり、特徴エンジニアリングを実行する際に主要な役割を果たします。 たとえば、データセット内の外れ値は、中央値と四分位範囲を表す箱ひげ図を使用して検出でき、外れ値は極限に残ります。

プロットは主にseaborn、plotly、bokeh、matplotlibなどの他のライブラリを介して行われますが、ライブラリを明示的に定義せずにデータを即座に視覚化したい場合はどうでしょうか。 パンダは解決策を得ました。 pd.plot()関数を使用すると、matplotlibを使用して内部的に呼び出されたグラフを直接プロットできます。 これに利用できるさまざまなオプション:
- df.plot()またはdf ['column_name']。plot()(グラフのタイプによって異なります)
- df.plot()には、グラフを定義するパラメーター'kind'があります。 デフォルトでは、これは「折れ線」プロットですが、使用可能な他のオプションは「bar」、「barh」、「box」、「hist」、「kde」などです。
- これはmatplotlibバックエンドを呼び出します。これは、「ax」アクセサーを介して引数にアクセスできることを意味します。
- .plot()関数は、「title」、「xticks」、「xlim」、「xlabel」、「fontsize」、「colormap」などの引数を取ることもできます。これにより、外部ライブラリをある程度定義する必要がなくなります。
その他の機能
- pd.get_dummies():データの前処理中に、モデルにフィードするために数値形式に変換する必要があるカテゴリデータに遭遇することがあります。 これらのカテゴリがかなり低い場合は、ワンホットエンコーディングが推奨されますが、これを手動で行うと時間がかかります。 このダミー関数は、値を変換するだけでなく、drop_firstをTrueに設定すると、すべてのカテゴリを含む前の列を削除します。
- df.query():これは、データフレームに条件付きマスクを適用できるようにする関数です。 このマスキングと通常のマスキングの基本的な違いは、この関数がブールマスクではなく値を直接返すため、マスクを作成してデータフレームに適用する手間が軽減されることです。
- df.select_dtypes():1つのタイプのデータ型に対して特定のタスクを実行する必要がある場合があります。 たとえば、外部ファイルからデータを読み取るときに、一部のデータ型はオブジェクトとして定義されます。 データをクリーンアップするとき、データセットにはすべての正しいデータ型が必要であり、そのようなデータ型の数が多い場合、df.astype('data-type')によって手動で行うのは面倒です。 この関数は指定されたデータ型を選択し、.apply()関数と組み合わせることができます。 サンプルコードは次のようになります。
df.select_dtypes(object).apply(astype(str))
必読:パンダのインタビューの質問
結論
この割り当てはチェーンと呼ばれ、データサイエンスのタスクを実行しているときに、実行するすべてのステップの変数を定義する手間を省くことが非常に一般的です。
パンダについて知りたい場合は、IIIT-BとupGradのデータサイエンスのPGディプロマをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップ、1対1を提供します。 -1業界のメンター、400時間以上の学習、トップ企業との就職支援。