[解決済み] pandasの2つのデータフレームのクロスジョイン [重複]。
2022-03-03 09:57:15
質問
クロスジョインについて、merge/joinや他のものを含め、何も見つかりません。 私はmyfuncとして{my関数}を使用して2つのデータフレームを処理する必要があります。 に相当するものです。
{
for itemA in df1.iterrows():
for itemB in df2.iterrows():
t["A"] = myfunc(itemA[1]["A"],itemB[1]["A"])
}
に相当します。
{
select myfunc(df1.A,df2.A),df1.A,df2.A from df1,df2;
}
しかし、私はより効率的なソリューションを必要としています。 使用される場合、私はそれらを実装する方法になりますthx;^^。
どのように解決するのですか?
クロスプロダクトについては この質問 .
基本的には、通常のマージを行う必要がありますが、すべての行に同じキーを与えて結合することで、フレームを越えてすべての行が互いに結合されるようにします。
そして、関数を適用することで、新しいフレームに列を追加することができます。
new_df = pd.merge(df1, df2, on=key)
new_df.new_col = new_df.apply(lambda row: myfunc(row['A_x'], row['A_y']), axis=1)
axis=1
勢力
.apply
は行をまたいで動作します。上の例のようにマージされたフレームが列を共有している場合、'A_x' と 'A_y' が結果のフレームのデフォルトの列名となります。
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】2つの辞書を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 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
pythonを使ったオフィス自動化コード例
-
python implement mysql add delete check change サンプルコード
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] Pandas マージ入門
-
[解決済み] pandasのカルテジアン積