[解決済み] 2つのpandasデータフレームを結合する(共通のカラムで結合)
2022-10-16 19:47:38
質問
2つのデータフレームがあります。
レストラン_ID_データフレーム
Data columns (total 13 columns):
business_id 4503 non-null values
categories 4503 non-null values
city 4503 non-null values
full_address 4503 non-null values
latitude 4503 non-null values
longitude 4503 non-null values
name 4503 non-null values
neighborhoods 4503 non-null values
open 4503 non-null values
review_count 4503 non-null values
stars 4503 non-null values
state 4503 non-null values
type 4503 non-null values
dtypes: bool(1), float64(3), int64(1), object(8)`
と
レストラン・レビュー・フレーム
Int64Index: 158430 entries, 0 to 229905
Data columns (total 8 columns):
business_id 158430 non-null values
date 158430 non-null values
review_id 158430 non-null values
stars 158430 non-null values
text 158430 non-null values
type 158430 non-null values
user_id 158430 non-null values
votes 158430 non-null values
dtypes: int64(1), object(7)
pandasのDataFrame.join()コマンドを使って、この2つのDataFrameを結合して1つのDataFrameにしたいのですが、どうすればよいでしょうか?
私は次の行のコードを試してみました。
#the following line of code creates a left join of restaurant_ids_frame and restaurant_review_frame on the column 'business_id'
restaurant_review_frame.join(other=restaurant_ids_dataframe,on='business_id',how='left')
しかし、これを試すと以下のようなエラーが発生します。
Exception: columns overlap: Index([business_id, stars, type], dtype=object)
私はpandasの初心者で、join文の実行に関する限り、何が間違っているのか全く分かりません。
どんな助けでも大いに感謝します。
どのように解決するのですか?
あなたは マージ を使って、2つのデータフレームを1つにまとめることができます。
import pandas as pd
pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')
ここで
で
は、結合する両方のデータフレームに存在するフィールド名を指定し
どのように
は内側/外側/左側/右側の結合を定義し、外側では '両フレームのキーの結合 (SQL: 完全外側結合)' を使用します。両方のデータフレームに 'star' カラムがあるので、これはデフォルトで結合されたデータフレームに2つのカラム star_x と star_y が作成されます。DanAllanがjoinメソッドについて述べたように、kwargとして渡すことでmergeの接尾辞を変更することができます。デフォルトは
suffixes=('_x', '_y')
です。もし、次のようなことをしたい場合は
star_restaurant_id
と
star_restaurant_review
は、できる。
pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer', suffixes=('_restaurant_id', '_restaurant_review'))
パラメータの詳細については、この リンク .
関連
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] PandasでDataFrameの行を列の値に基づいて削除する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonの文字列書式をリストで使う