[英]How to create a new dataframe column with shifted values from another column?
我正在從數據庫查詢返回數據,並想在結果數據框中創建一個新列。 我需要將一個專欄的結果向前移動一個月才能創建一個新專欄。
我有一個從SQL查詢填充的數據框,其格式為:
df.dtypes
ACTIVITY_MONTH datetime64[ns]
PRODUCT_KEY object
COUNT float64
當我跑步時:
df['NEW_COUNT'] = df.groupby('PRODUCT_KEY')['COUNT'].shift(+1)
我收到此錯誤:
ValueError: cannot reindex from a duplicate axis
這個錯誤對我來說沒有任何意義,我不確定該如何解決。 任何幫助表示贊賞。
錯誤ValueError: cannot reindex from a duplicate axis
重新編制索引表明在這種情況下,索引中有重復的條目(由於這個原因,它無法分配給新的列,因為熊貓無法知道將重復的條目的值放在何處) 。
要檢查索引中的重復值,可以執行以下操作:
df.index.get_duplicates()
然后要擺脫重復的值(如果不需要保留原始索引),可以例如執行df.reset_index(drop=True)
,也可以在append
或concat
使用ignore_index=True
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.