我想有条件地填写之前的值,比如ffill()
.
例如,如果[‘day’]列为‘None’,我想对Groupby
应用[‘Close’]ffill()
.
我附上了下面的例子.
df = pd.DataFrame({'name' : ['AAPL','AAPL','AAPL','AAPL','AAPL','AAPL','MSFT','MSFT','MSFT','MSFT','MSFT','MSFT'],
'day' : [None,'Fri', None, None, 'Mon', 'Thue', None,'Fri', None, None, 'Mon', 'Thue',],
'close' : [np.nan, 174.49, np.nan, np.nan, 175.84, np.nan, np.nan, 128.11, np.nan, np.nan, 128.93, np.nan]
})
# df
# Out[46]:
# AAPL None NaN
# AAPL Fri 174.49
# AAPL None NaN
# AAPL None NaN
# AAPL Mon 175.84
# AAPL Thue NaN
# MSFT None NaN
# MSFT Fri 128.11
# MSFT None NaN
# MSFT None NaN
# MSFT Mon 128.93
# MSFT Thue NaN
# What I wannt
# name day close
# AAPL None NaN
# AAPL Fri 174.49
# AAPL None 174.49 <- if 'day' is None then wnat to ffill()
# AAPL None 174.49 <- if 'day' is None then wnat to ffill()
# AAPL Mon 175.84
# AAPL Thue NaN
# MSFT None NaN
# MSFT Fri 128.11
# MSFT None 128.11 <- if 'day' is None then wnat to ffill()
# MSFT None 128.11 <- if 'day' is None then wnat to ffill()
# MSFT Mon 128.93
# MSFT Thue NaN