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

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

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

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

Q&A

解決済

1回答

887閲覧

Python データフレームの要素を抽出

gymgym

総合スコア97

Python 3.x

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

0グッド

0クリップ

投稿2018/08/07 09:43

Python

1df_1 = pd.read_csv('df_1.csv', index_col=0, parse_dates=[1]) 2df_2 = pd.read_csv('df_2.csv', parse_dates=[0]) 3 4s = df_1[df_2['DATE']]

2つのデータフレームをcsvから読み込み、内容は以下のようになっております。

# df_1 0 1 2 3 4 5 6 \ 0 2017-06-30 -0.005018 0.054435 0.062638 0.014291 -0.007867 0.041824 1 2017-07-01 -0.006506 0.036959 0.020141 0.011205 -0.019929 0.026515 2 2017-07-02 0.012026 0.075671 0.074646 0.018275 0.027430 0.063145 3 2017-07-03 0.013501 0.049313 0.041039 0.024126 -0.002154 0.041007 4 2017-07-04 -0.008202 0.046841 0.050229 0.018597 -0.008216 0.030829 7 8 0 0.028999 0.038505 1 -0.006405 0.013171 2 0.024237 0.058371 3 0.014795 0.029228 4 0.026579 0.024023 # df_2 DATE DEXJPUS 0 2017-06-29 112.32 1 2017-06-30 112.40 2 2017-07-03 113.32 3 2017-07-04 113.24 4 2017-07-05 113.20

df_2に格納してある日付の要素のみ必要なので、df_2の日付に対応させてdf_1の要素を取り出したいと考え、コードを組んでみたのですがうまくいきませんでした。

エラーは以下のようになりました。

Traceback (most recent call last): File "kawase1.py", line 18, in <module> sentence = day_df[kawase_df['DATE']] File ".pyenv/versions/3.6.1/lib/python3.6/site-packages/pandas/core/frame.py", line 2133, in __getitem__ return self._getitem_array(key) File "/.pyenv/versions/3.6.1/lib/python3.6/site-packages/pandas/core/frame.py", line 2177, in _getitem_array indexer = self.loc._convert_to_indexer(key, axis=1) File "/.pyenv/versions/3.6.1/lib/python3.6/site-packages/pandas/core/indexing.py", line 1269, in _convert_to_indexer .format(mask=objarr[mask])) KeyError: "['2017-06-29T00:00:00.000000000' '2017-06-30T00:00:00.000000000'\n '2017-07-03T00:00:00.000000000' '2017-07-04T00:00:00.000000000'\n

どのようにしたらうまくいくでしょうか。

よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

df_2 の 'DATE'列と df_1 の 0列 が一致するように df_2 に df_1 を引き当てたいというのであれば DataFrame.merge() を使って

Python

1s = df_2.merge(df_1, left_on='DATE', right_on=0, how='left')

のように書けるかと思います

投稿2018/08/07 10:17

magichan

総合スコア15898

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問