我有兩個不同的DFS,我想用結合:熊貓的毗連給予「InvalidIndexError:重建索引只與唯一值的索引對象有效的」錯誤
pd.concat([df1, df2], 1)
最終的結果是與日期爲指數DF和所有的cols。
According to pandas documentation,這應該工作。它正在工作。但現在不是,我不知道爲什麼。
DF1:
gbp_open gbp_high gbp_low gbp_close gbp_volume
date
2017-03-13 0.8217 0.82246 0.81627 0.8216 000
2017-03-10 0.8224 0.82366 0.82055 0.82255 000
2017-03-09 0.82139 0.82364 0.82 0.8212 000
2017-03-08 0.81943 0.82372 0.8186 0.81937 000
2017-03-07 0.817 0.82163 0.8163 0.8168 000
2017-03-06 0.81351 0.81659 0.8132 0.813 000
2017-03-03 0.8147 0.81854 0.8141 0.81468 000
2017-03-02 0.81492 0.81561 0.81264 0.81485 000
2017-03-01 0.80779 0.81402 0.80629 0.80788 000
2017-02-28 0.80403 0.8059 0.80183 0.8039 000
而且DF2:
inr_open inr_high inr_low inr_close inr_volume
date
2017-03-13 66.485 66.58 66.11 66.485 000
2017-03-10 66.71 66.77 66.5398 66.6805 000
2017-03-09 66.815 66.853 66.60 66.765 000
2017-03-08 66.625 66.83 66.613 66.6162 000
2017-03-07 66.645 66.695 66.58 66.6647 000
2017-03-06 66.71 66.78 66.60 66.773 000
2017-03-03 66.845 66.885 66.74 66.8451 000
2017-03-02 66.69 66.858 66.67 66.858 000
2017-03-01 66.705 66.89 66.7046 66.7051 000
2017-02-28 66.735 66.808 66.59 66.6932 000
我已經嘗試了幾種不同的解決方案,但他們沒有做什麼,我需要的,這是對的日期將二者結合起來。
編輯:奇怪的是,我使用幾乎完全相同的代碼在不同的數據集(但相同的操作),它沒有問題。
編輯2:也許這會有所幫助。我用df1.join(df2,how ='outer'),它工作正常。好吧差不多好。當我檢查任何重複值時,有一個顯示四個的日期(恰巧是昨天 - 這可以解釋爲什麼它是最近的問題)。
這會如何影響問題?
xdf.index.value_counts()
2017-04-24 4
2016-11-14 1
2011-03-28 1
2011-09-19 1
2011-09-13 1
2013-12-25 1
2012-07-12 1
2011-08-08 1
2016-11-22 1
有什麼想法?
我想你最好使用'join'作爲這個 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html – ittus
你試過參數ignore_index = True嗎? – Vaishali
那麼我需要ignore_index,因爲我想將每個日期的數據合併成一行......並加入作品,謝謝!仍然想知道爲什麼上述不工作 - 我直接從文檔中解除它! – Zach