Python で Pandas を使用して 2 つの CSV ファイルを特定の列ごとにマージするにはどうすればよいですか?
CSV (カンマ区切り値) ファイルは、単純な形式でデータを保存および交換するために広く使用されています。多くのデータ処理タスクでは、特定の列に基づいて 2 つ以上の CSV ファイルを結合する必要があります。幸いなことに、これは Python の Pandas ライブラリを使用して簡単に実現できます。
この記事では、Python の Pandas を使用して、2 つの CSV ファイルを特定の列ごとにマージする方法を学びます。
Pandas ライブラリとは何ですか?
Pandas は、Python メッセージ制御および検査用のオープンソース ライブラリです。構造化データ (表形式、時系列、多次元データなど) と高性能データ構造を操作するためのツールを提供します。 Pandas は、金融、データ サイエンス、機械学習、およびデータ操作が必要なその他の分野で広く使用されています。
Python で特定の列ごとに 2 つの CSV ファイルをマージする手順
Pandas ライブラリを使用して Python の特定の列ごとに 2 つの CSV ファイルをマージする完全な手順は次のとおりです -
ステップ 1: Pandas ライブラリをインポートする
2 つの CSV ファイルをマージする最初のステップは、pandas ライブラリをインポートすることです。 Pandas は、強力な Python データ分析ライブラリです。これは、大規模なデータ セットの効率的な保存と操作のためのデータ構造を提供します。 Pandas を使用するには、まず Pandas を Python プログラムにインポートする必要があります。これは、次のコマンドを使用して実行できます -
リーリーステップ 2: CSV ファイルを読み取る
次のステップは、マージする 2 つの CSV ファイルを読み取ることです。 Pandas の read_csv() 関数を使用して、CSV ファイルを Pandas DataFrame に読み取ることができます。 CSV ファイルのファイル パスまたは URL を read_csv() 関数の引数として指定する必要があります。例えば -### リーリー
ステップ 3: CSV ファイルを結合するCSV ファイルを Pandas DataFrame に読み込んだ後、merge() 関数を使用して特定の列に基づいて CSV ファイルをマージします。 merge() 関数は 2 つの DataFrame を入力として受け取り、共通の列に基づいてそれらをマージします。これは基本的な構文です -
リーリー
この例では、merged_df は、df1 と df2 のマージされたデータを含む新しいデータフレームです。 on パラメーターは、2 つの DataFrame をマージする共通の列の名前を指定します。たとえば、sales.csv と Customers.csv という 2 つの CSV ファイルがあるとします。どちらのファイルにも CustomerID という名前の列が含まれています。 CustomerID 列に基づいて 2 つのファイルをマージしたいと考えています。できるよ -### リーリー
ステップ 4: 欠損値を処理する (存在する場合)
特定の列に基づいて 2 つの CSV ファイルを結合すると、結合されたデータフレームに欠落した値が存在する可能性があります。これらの欠落値は、いずれかの CSV ファイルの対応する列に一致する値がない場合に発生する可能性があります。
欠損値を処理するには、Pandas の fillna() 関数を使用して、欠損値をデフォルト値または計算値に置き換えます。たとえば、次のコードを使用して、欠損値を文字列「Unknown」 -
に置き換えることができます。 リーリーこの例では、fillna() 関数を使用して、マージされた DataFrame 内の欠損値を文字列「Unknown」に置き換えます。また、inplace パラメーターを True に指定しました。これは、新しい DataFrame を作成するのではなく、元の DataFrame が変更されることを意味します。
例 1: Merge() 関数の使用
この例では、Pandas の merge() 関数を使用して、特定の列に基づいて 2 つの CSV ファイルをマージします。
リーリーemployees.csv とDepartments.csv という 2 つの CSV ファイルがあるとします。 Employees.csv ファイルには次のデータが含まれています -
1 | ジョン | ||
---|---|---|---|
2 | サラ | ||
3 | デビッド | ||
4 | アレックス | ||
5 | エミリー | ||
Departments.csv ファイルには次のデータが含まれています - |
3 | ###マーケティング###|||
4 | ###人事###
订单ID | 客户ID | 订单日期 | 总金额 |
---|---|---|---|
1 | 1 | 2022-05-01 | 100.0 |
2 | 3 | 2022-05-02 | 150.0 |
3 | 2 | 2022-05-03 | 200.0 |
4 | 1 | 2022-05-04 | 75.0 |
5 | 4 | 2022-05-05 | 120.0 |
customers.csv 文件包含以下数据 -
客户ID | 客户名称 | 电子邮件 |
---|---|---|
1 | 约翰 | john@example.com |
2 | 莎拉 | sarah@example.com |
3 | 大卫 | david@example.com |
4 | 艾米丽 | emily@example.com |
示例
import pandas as pd # Load CSV files orders = pd.read_csv('orders.csv') customers = pd.read_csv('customers.csv') # Join dataframes based on CustomerID column joined_df = orders.set_index('CustomerID').join(customers.set_index('CustomerID')) # Print joined dataframe print(joined_df.head()) # Save joined dataframe to a new CSV file joined_df.to_csv('joined_orders_customers.csv')
输出
OrderID OrderDate TotalAmount CustomerName Email CustomerID 1 1 2022-05-01 100.0 John john@example.com 1 4 2022-05-04 75.0 John john@example.com 2 3 2022-05-03 200.0 Sarah sarah@example.com 3 2 2022-05-02 150.0 David david@example.com 4 5 2022-05-05 120.0 Emily emily@example.com
使用 Pandas 的 merge() 函数,我们根据本例中的“id”列合并了两个 CSV 文件。作为合并两个 CSV 文件的结果的 DataFrame 除了“name_x”、“email_x”、“name_y”和“email_y”列之外还包括“id”列。
请注意,“name_y”和“email_y”段的组合 DataFrame 中缺少值,这些值与第二个 CSV 记录中没有匹配质量的行相关。如上一步所示,Pandas fillna() 和 dropna() 函数可用于处理这些缺失值。
结论
基于特定列合并两个 CSV 文件是一项常见的数据处理任务,可以使用 Python 中的 Pandas 库轻松实现。在本文中,我们学习了如何使用 Pandas 的 merge() 函数合并两个 CSV 文件。我们还讨论了如何处理缺失值以及如何将合并的 DataFrame 保存到新的 CSV 文件。
以上がPython で Pandas を使用して 2 つの CSV ファイルを特定の列ごとにマージするにはどうすればよいですか?の詳細内容です。詳細については、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は、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

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

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

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

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

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

生産環境の場合、パフォーマンス、信頼性、セキュリティ、スケーラビリティなどの理由により、通常、MySQLを実行するためにサーバーが必要です。サーバーには通常、より強力なハードウェア、冗長構成、より厳しいセキュリティ対策があります。小規模で低負荷のアプリケーションの場合、MySQLはローカルマシンで実行できますが、リソースの消費、セキュリティリスク、メンテナンスコストを慎重に考慮する必要があります。信頼性とセキュリティを高めるには、MySQLをクラウドまたは他のサーバーに展開する必要があります。適切なサーバー構成を選択するには、アプリケーションの負荷とデータボリュームに基づいて評価が必要です。
