第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Pandas DataFrame 中抓取前一年的數據

在 Pandas DataFrame 中抓取前一年的數據

ABOUTYOU 2023-05-23 15:59:42
我有這個 df:d={'year':[2019,2018,2017],'B':[10,5,17]}df=pd.DataFrame(data=d)print(df):   year   B0  2019  101  2018   52  2017  17我想創(chuàng)建一個列“B_previous_year”,從前一年獲取 B 數據,其方式如下所示:   year   B   B_previous_year0  2019  10                 51  2018   5                172  2017  17               NaN我正在嘗試這個:df['B_previous_year']=df.B.loc[df.year == (df.year - 1)]然而我B_previous_year已經滿了NaN   year   B  B_previous_year0  2019  10              NaN1  2018   5              NaN2  2017  17              NaN我怎么能那樣做?
查看完整描述

2 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

如果您想保留整數格式:


df = df.convert_dtypes()

df['New'] = df.B.shift(-1)

df

輸出:


    year    B   New

0   2019    10  5

1   2018    5   17

2   2017    17  <NA>


查看完整回答
反對 回復 2023-05-23
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

您可能想先按年份對數據框進行排序,然后驗證一行與下一行的差異確實是一年:


df = df.sort_values(by='year')

df['B_previous_year'] = df[df.year.diff() == 1]['B']

    year    B   B_previous_year

2   2017    17  NaN     

1   2018    5   5.0     

0   2019    10  10.0    


查看完整回答
反對 回復 2023-05-23
  • 2 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號