質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

解決済

python dataframeの結合方法について

wayaya
wayaya

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

1回答

0評価

0クリップ

8閲覧

投稿2017/08/06 05:15

pythonのdataframeの結合方法について質問があります。
2つのdataframeがあり、片方の行をもう片方に挿入することがしたいです。
1行だけ挿入することは、出来たのですが複数行を一括で挿入することができません。

どこを修正すれば、理想的に動くでしょうか?

input

indexABC
0forone11
1barone12
2fortwo13
indexDEF
0a10116:00
1b1029:00
2c10312:00
3d10421:00

output
1行挿入 (想定通り)
|index|A|B|C|D|E|F|
|:--|:--:|--:|--:|
|0|for|one|11|
|1|bar|one|12|c|103|12:00|
|2|for|two|13|

複数挿入(想定外)
![イメージ説明](74971f8cda24275f9a83cbc946ca0a30.png)
※表で表すことが難しいため画像張ります

理想
|index|A|B|C|D|E|F|
|:--|:--:|--:|--:|
|0|for|one|11|
|1|bar|one|12|c|103|12:00|
|1||||d|104|21:00|
|2|for|two|13|

python

#!/usr/bin/python3 # -\*- Coding: utf-8 -\*- import pandas as pd # 2つのDFを結合、inputDF2のtarget_row行をinputDF1のinsert_row行に挿入する。 def insert_data_frame\(inputDF1, inputDF2, insert_row, target_row\): insert_data = pd\.DataFrame\(\[eval\("inputDF2\.iloc\[{}\]"\.format\(target_row\)\)\], index=\[insert_row\]\) output_df = insert_data\.combine_first\(inputDF1\) return output_df def main\(\): # 適当なDFを作成 df1 = pd\.DataFrame\({"A": \['foo', 'bar', 'foo'\], "B": \['one', 'one', 'two'\], "C": range\(11, 14\) }\) df2 = pd\.DataFrame\({"D": \['a', 'b', 'c', 'd'\], "E": range\(101, 105\), "F": \['16:00', '09:00', '12:00', '21:00'\] }\) # insert_df = insert_data_frame\(df1, df2, 1, "2"\) # 想定通り動作 insert_df = insert_data_frame\(df1, df2, 1, "2:3"\) # 想定外の動作をする insert_df\.to_csv\("test\.csv"\) print\(insert_df\) if __name__ == '__main__': main\(\)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。