Exp
的索引匹配的值是一個DataFrame
與datetime
object
循環通過一個大熊貓柱與另一個數據幀
Exp
0 1989-06-01
1 1989-07-01
2 1989-08-01
3 1989-09-01
4 1989-10-01
CL
是Dataframe
與Index
爲DateTime Object
CL
1989-06-01 68.800026
1989-06-04 68.620026
1989-06-05 68.930023
1989-06-06 68.990021
1989-06-09 69.110023
- 欲在0123中添加新列數據幀,其中將具有與
CL
索引匹配的Exp的日期。
這是我想要的輸出應該是什麼樣子
CL R
1989-06-01 68.800026 1989-06-01
1989-06-04 68.620026
1989-06-05 68.930023
1989-06-06 68.990021
1989-06-09 69.110023
這就是我想這樣做:
for m in Exp.iloc[:,0]:
if m == CL.index:
CL['R'] = m
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
有人可以幫我嗎?我不斷收到此ValueError很多次
的錯誤是因爲你比較標'M'到一個數組'CL.index'其中有許多價值。在你的解釋器中測試這個語句 - 它將返回的將是一個與索引一樣長的布爾值數組。錯誤是告訴你,你需要評估數組作爲單個值;所以如果數組中的所有值都必須爲true,那麼如果數組中的一個「True」應該爲真,則使用'any()'。 – cmaher
除了這個錯誤之外,賦值'CL ['Exp'] = m'將覆蓋它產生的每個匹配的任何現有的'CL ['Exp']'值,因爲你正在給一個標量'm'賦值列'Exp'。你正在尋找的結果可以被認爲是一個SQL左連接 - 在pandas.DataFrame.merge或pandas.DataFrame.join上進行閱讀,以瞭解如何在熊貓中執行左連接類操作。 – cmaher
我想選擇一個m的值並在CL.Index數組中搜索,如果它存在的話。如果是這樣,我想將該日期的一行添加到同一日期的R的新列中。 – Wolverine