DataFrame でのインデックス作成を通じてデータを効率的に取得するための Pandas のヒント
関連する学習の推奨事項: python チュートリアル
前の記事では、iloc、loc、論理インデックスなど、DataFrame データ構造で一般的に使用されるインデックスの使用方法を紹介しました。今日の記事では、DataFrame の 基本操作 をいくつか見てみましょう。
データ アライメント
2 つの DataFrame の合計を計算できます。pandas は自動的に 2 つの DataFrame を実行します。データ配置. データが一致しない場合は、Nan (非数値) に設定されます。
最初に 2 つの DataFrame を作成します:
import numpy as npimport pandas as pddf1 = pd.DataFrame(np.arange(9).reshape((3, 3)), columns=list('abc'), index=['1', '2', '3'])df2 = pd.DataFrame(np.arange(12).reshape((4, 3)), columns=list('abd'), index=['2', '3', '4', '5'])复制代码
結果は私たちが想像したものと一致しています。実際には、numpy 配列を使用して DataFrame を作成するだけです。インデックスと列を指定します。これは非常に基本的な使用法であると考えてください。

次に、2 つの DataFrame を追加すると、次の結果が得られます:

pandas が 2 つの DataFrame を追加したことがわかります。マージすると、 両方の DataFrame に表示されない位置は Nan に設定されます。実はこれには意味があり、足し算だけではなく、2つのDataFrameの加減乗除の四則演算も計算できます。 2 つの DataFrame の割り算を計算すると、それに該当しないデータが Nan に設定されるだけでなく、ゼロで割るという行為も外れ値の発生につながります (必ずしもそうではない場合があります) Nan ですが、inf です)。
fill_value
2 つの DataFrame を操作する場合、もちろん null は必要ありません表示される値。このとき、null 値を埋める必要があります。演算子を直接使用して演算を実行すると、埋めるためのパラメータを渡すことができません。このとき、で提供されている 算術メソッドを使用する必要があります。データフレーム。
DataFrame には一般的に使用される演算子がいくつかあります:

add、sub、p については誰もがよく理解していますが、ここでの radd メソッドと rsub メソッドは何を意味するのでしょうか?なぜ前に r があるのでしょうか?
ややこしいようですが、率直に言うと、radd は パラメータを反転するために使用されます。たとえば、DataFrame 内のすべての要素の逆数を取得したい場合は、1/df と記述できます。 1 自体は DataFrame ではないため、1 を使用して DataFrame 内のメソッドを呼び出すことはできず、パラメーターを渡すこともできません。この状況を解決するには、1/df を df.rp(1)## として記述します。 # なので、パラメータを渡すことができます。

計算前に片側の欠損値の場合に埋め込むことができます。つまり、1 つの DataFrame でのみ欠落している位置は、指定した値で置き換えられます。両方の DataFrame で欠落している場合でも、Nan になります。

#fill_value このパラメータは、インデックスの再作成など、多くの API で使用されます。使用方法は同じなので、API ドキュメントを確認するときに注意してください。
それでは、入力後も表示されるこの種の空の値をどうすればよいでしょうか?これらの場所を手動で見つけて入力することしかできませんか?もちろん、それは非現実的ですが、Pandas は、特に null 値を解決する API も提供します。null 値を検索します #null 値を入力する前に、最初に行う必要があるのは
。この問題を解決するには、bool DataFrame を返す isna API を使用します。DataFrame 内の各位置は、元の DataFrame の対応する位置が null 値であるかどうかを示します。 もちろん、null 値かどうかを確認するだけです。明らかに十分ではありません。null 値が表示されないことを期待する場合もありますが、この時点では、null 値を削除する を選択できます。この状況では、DataFrame の Dropna メソッドを使用できます。 dropna を使用すると、null 値を含む行が破棄されることがわかりました。 null 値を持たない行のみが保持されますが、行ではなく列を破棄したい場合がありますが、このときは axis パラメータを渡すことで制御できます。 このようにして、null 値を含まない列が得られます。行と列の制御に加えて、 厳密性も制御できます。ドロップ を実行中。 How パラメータで判断できますが、How は 2 つの値 (1 つは 'all'、もう 1 つは 'any') を渡すことをサポートしています。 All は、特定の行または列がすべて null 値の場合にのみ破棄されることを意味し、any に対応すると、null 値が出現する限り破棄されます。デフォルトで入力されていない場合は、any とみなされますが、通常はこのパラメータを使用せず、印象があれば十分です。 null 値を含むデータを削除するだけでなく、パンダも使用できます Fill empty値、実際、これは最も一般的に使用される方法でもあります。 塗りつぶし用に特定の値を渡すだけです。 fillna は新しい DataFrame を返します。すべて Nan の値です。指定した値に置き換えられます。新しい DataFrame を返さずに元のデータを直接変更する場合は、inplace パラメーターを使用してこれがインプレース操作であることを示すことができ、パンダは元の DataFrame を変更します。 除了填充具体的值以外,我们也可以和一些计算结合起来算出来应该填充的值。比如说我们可以计算出某一列的均值、最大值、最小值等各种计算来填充。fillna这个函数不仅可以使用在DataFrame上,也可以使用在Series上,所以我们可以针对DataFrame中的某一列或者是某些列进行填充: 除了可以计算出均值、最大最小值等各种值来进行填充之外,还可以指定使用缺失值的前一行或者是后一行的值来填充。实现这个功能需要用到method这个参数,它有两个接收值,ffill表示用前一行的值来进行填充,bfill表示使用后一行的值填充。 我们可以看到,当我们使用ffill填充的时候,对于第一行的数据来说由于它没有前一行了,所以它的Nan会被保留。同样当我们使用bfill的时候,最后一行也无法填充。 今天的文章当中我们主要介绍了DataFrame的一些基本运算,比如最基础的四则运算。在进行四则运算的时候由于DataFrame之间可能存在行列索引不能对齐的情况,这样计算得到的结果会出现空值,所以我们需要对空值进行处理。我们可以在进行计算的时候通过传入fill_value进行填充,也可以在计算之后对结果进行fillna填充。 在实际的运用当中,我们一般很少会直接对两个DataFrame进行加减运算,但是DataFrame中出现空置是家常便饭的事情。因此对于空值的填充和处理非常重要,可以说是学习中的重点,大家千万注意。 想了解更多编程学习,敬请关注php培训栏目!
dropna
fillna
df3.fillna(3, inplace=True)复制代码
总结
以上がDataFrame でのインデックス作成を通じてデータを効率的に取得するための Pandas のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

MySQLは、基本的なデータストレージと管理のためにネットワーク接続なしで実行できます。ただし、他のシステムとのやり取り、リモートアクセス、または複製やクラスタリングなどの高度な機能を使用するには、ネットワーク接続が必要です。さらに、セキュリティ対策(ファイアウォールなど)、パフォーマンスの最適化(適切なネットワーク接続を選択)、およびデータバックアップは、インターネットに接続するために重要です。

MySQLワークベンチは、構成が正しい場合、MariadBに接続できます。最初にコネクタタイプとして「mariadb」を選択します。接続構成では、ホスト、ポート、ユーザー、パスワード、およびデータベースを正しく設定します。接続をテストするときは、ユーザー名とパスワードが正しいかどうか、ポート番号が正しいかどうか、ファイアウォールが接続を許可するかどうか、データベースが存在するかどうか、MariadBサービスが開始されていることを確認してください。高度な使用法では、接続プーリングテクノロジーを使用してパフォーマンスを最適化します。一般的なエラーには、不十分な権限、ネットワーク接続の問題などが含まれます。エラーをデバッグするときは、エラー情報を慎重に分析し、デバッグツールを使用します。ネットワーク構成を最適化すると、パフォーマンスが向上する可能性があります

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

MySQL接続は、次の理由が原因である可能性があります。MySQLサービスは開始されず、ファイアウォールは接続をインターセプトし、ポート番号が間違っています。ユーザー名またはパスワードが間違っています。My.cnfのリスニングアドレスは不適切に構成されています。トラブルシューティング手順には以下が含まれます。 2.ファイアウォール設定を調整して、MySQLがポート3306をリッスンできるようにします。 3.ポート番号が実際のポート番号と一致していることを確認します。 4.ユーザー名とパスワードが正しいかどうかを確認します。 5. my.cnfのバインドアドレス設定が正しいことを確認してください。

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。
