簡體   English   中英

如何創建一個新的數據框列,並從另一個列中移出值?

[英]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) ,也可以在appendconcat使用ignore_index=True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM