我使用 pandas 和 gspread 來創建基于作業谷歌表的資料框。這dfrname是我的資料框:
sheetwork = client.open('RMA Daily Workload').sheet1
list_of_work = sheetwork.get_all_records()
dfr = pd.DataFrame(list_of_work, columns = ['Date' , '#Order'])
dfrname = dfr.rename(columns={"Date": "date", "#Order": "value"})
我的資料框的輸出是:

日期欄中的所有“過去”都屬于以前的日期,所以我想將日期欄中的所有“過去”都更改為以前的日期。例如,將第 1 行的日期更改為 01/02/2020,將第 3 行的日期更改為 01/03/2020。
我想更改它們的原因是我想將這兩個單元格的值相加,這樣我的最終輸出將是: 01/02/2020 16(13 3), 01/03/2020 5(2 3) ...
我是 python 新手,我知道這應該是一個簡單的問題,但我在網上搜索并沒有找到任何解決方案。我嘗試了很多方法,但仍然無法完成。請指教
uj5u.com熱心網友回復:
嘗試使用where和ffill:
dfrname["date"] = dfrname["date"].where(dfrname["date"].ne("Past")).ffill()
>>> dfrname
date value
0 01/02/2020 13
1 01/02/2020 3
2 01/03/2020 2
3 01/03/2020 3
4 01/06/2020 5
uj5u.com熱心網友回復:
熊貓fillna()是你的朋友。
您的date值都是名為 'Past' 的字串,應轉換為NaN/ None。然后,您可以使用同一列的前一個值“向前填充”那些。
dfrname.loc[dfrname['date'] == 'Past', 'date'] = None
dfrname.fillna(method='ffill')
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.fillna.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428217.html
上一篇:將相鄰單元格與重復單元格一起復制
