具体的には、私はPython2.7を使用します。 Quandl: 'FMAC/HPI_AK'と 'FMAC/HPI_CA'の2つのデータフレームを個別に読み込み、問題なく印刷します。私はmerged = pd.merge(df1, df2, on = 'Date', how = 'outer')
を使って2つのデータフレームをマージしました。しかし、2つのデータフレームをマージしようとすると、keyerror: 'Date'
というトレースバックが表示されます。ここで、「Date」は、両方のデータフレームの最初の/ indexカラムの属性です。Quandlから2つのデータフレームを結合/マージする方法は?
import quandl
import pandas as pd
api_key = open('quandlapikey.txt', 'r').read()
df1 = quandl.get('FMAC/HPI_ak', authtoken=api_key)
df2 = quandl.get('FMAC/HPI_ca', authtoken=api_key)
print(df1.head())
print(df2.head())
merged = pd.merge(df1, df2, on = 'Date', how = 'outer')
merged.set_index('Date', inplace = True)
print(merged)
日付値
1975年1月31日15.671711
1975年2月28日15.726897
1975年3月31日15.919058
1975年4月30日16.233030
1975-05-31 16.494823
日付値
1975年1月31日34.447924
1975年2月28日34.958144
1975年3月31日35.480144
1975年4月30日36.024334
1975年5月31日36.617578
トレースバック(最新の呼び出しの最後):
ファイル ""、1行目、 でrunfile( '/ Users/hans/Desktop/sentdex/buildingdataset.py'、wdir = '/ Users/hans/Desktop/sentdex')
ファイル "/Users/hans/anaconda2/lib/python2.7/site -packages /スパイダー/ utilsの/サイト/ sitecustomize.py "行866、RUNFILE execfileを(ファイル名、名前空間)
ファイル内の" /Users/hans/anaconda2/lib/python2.7/site-packages/spyder で/Users/hans/Desktop/sentdex/buildingdataset.py "22行目、「execfileを builtins.execfile(ファイル名、*)
ファイルでは、ライン94、" /utils/site/sitecustomize.py merged = pd.merge(df1、df2、on = 'Date'、how = 'outer')
マージコピーでファイル "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/tools/merge.py"、ライン61、=コピー、インジケータ=インジケータ)
)のinit self.join_namesで、 "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/tools/merge.py"、ライン543ファイル= self._get_merge_keys()
ファイル "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/tools/merge.py"、810行目、_get_merge_keys right_keys.append(右[rk] ._値)
のGetItem リターンself._getitem_column(キー)ファイルで
ファイル "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/core/frame.py"、ライン2059、 "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/core/frame。PY」、ライン2066、_getitem_column リターンself._get_item_cache(キー)
ファイル内の "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/core/generic.py"、ライン1386 、_get_item_cache 値の= self._data.get(項目)で
ファイル "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/core/internals.py"、ライン3543、 get_loc で、 LOC = self.items.get_loc(アイテム)
ファイル "/Users/hans/anaconda2/lib/python2.7/site-packages/pandas/indexes/base.py"、ライン2136を取得return self._engine.get_loc(self._maybe_cast_indexer(key))
pandas.index.IndexEngine.get_loc(パンダ/ index.c:4433)にファイル "パンダ/ index.pyx"、行132における
ファイル "パンダ/ index.pyx"、ライン154、 13742:pandas.hashtable.PyObjectHashTable.get_item(パンダ/ hashtable.cで
ファイル "パンダ/ SRC/hashtable_class_helper.pxi"、行732、:pandas.index.IndexEngine.get_loc(4279パンダ/ index.c) pandas.hashtable.PyObjectHashTable.get_item(パンダ/ hashtable.c中)
ファイル "パンダ/ SRC/hashtable_class_helper.pxi"、行740、:13696)
KeyError例外:「日付」
はどうもありがとうございます! – Hanshenry90
大歓迎です! – bernie