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

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

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

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

pandas

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

Q&A

解決済

1回答

784閲覧

[python]既存のdataframeに新規のdataframeを行方向に追加したい

mini1988

総合スコア56

Python

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

pandas

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

0グッド

0クリップ

投稿2018/04/06 05:12

既存のdataframe(df1)に対して行方向に新規のdataframe(df2)を追加したいのですが、思う通りに動いてくれずに困っています。

df1とdf2は以下の通りです。

<df1>
2016-01-04 480 481 474 478
2016-01-05 474 476 467 469
2016-01-06 470 470 464 465
2016-01-07 461 466 457 465
.
.
.
2018-03-29 463 470 460 466
2018-03-30 471 475 468 472
2018-04-03 459 472 457 470
2018-04-04 469 476 466 473

[... rows x 4 columns]

type(df1)
pandas.core.frame.DataFrame

type(df1.index)
pandas.core.indexes.datetimes.DatetimeIndex

df1.index
DatetimeIndex(['2016-01-04', '2016-01-05', '2016-01-06', '2016-01-07',
'2016-01-08', '2016-01-12', '2016-01-13', '2016-01-14',
'2016-01-15', '2016-01-18',
...
'2018-03-20', '2018-03-22', '2018-03-23', '2018-03-26',
'2018-03-27', '2018-03-28', '2018-03-29', '2018-03-30',
'2018-04-03', '2018-04-04'],
dtype='datetime64[ns]', name='日付', length=550, freq=None)

df1に行方向に追加したい情報df2は以下の通りです。

日付:'2018-04-05'
data = array([[479., 491., 476., 485.]])

df2.index
Index(['2018-04-05 00:00:00'], dtype='object')

df2 = pd.DataFrame(data, columns=['A','B','C','D'], index=['2018-04-05 00:00:00']) df1.append(df2)

このように書いたのですが、df1を参照すると、df2のデータが追加されておりませんでした。

どうすれば、df2が追加されるのでしょうか?df2のdataframe自体の作り方が原因なのか、行方向への追加が問題なのか、いろいろと分からずに困っています。どなたか、ご教示お願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

試してませんが、エラーなど発生していないのであれば
df1 = df1.append(df2)で追加後のテーブルを受け取るdf1.append(df2,inplace=True)df1自身を更新すればよいと思います。
あ、appendinplace指定できませんね。

投稿2018/04/06 05:17

編集2018/04/06 05:23
can110

総合スコア38252

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mini1988

2018/04/06 05:23

基本的な質問にも関わらず、回答いただきありがとうございました。解決できました。感謝します。
can110

2018/04/06 05:27 編集

私も最初はハマりました。 pandas公式ページではインタラクティブ環境での実行例を示しているので自身のdfが更新しているようにみえます。 誤解しやすいですね。
mini1988

2018/04/06 05:44

すごい方でもそんなことがあったんですね。これからもお付き合いのほどよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問