Python 如何使用熊猫填充两个不同的单词?

Python 如何使用熊猫填充两个不同的单词?,python,pandas,python-2.7,Python,Pandas,Python 2.7,如果我有这样一个数据帧: A 0 Ascent 1 NaN 2 NaN 3 Descent 4 NaN 5 Ascent 如何在单词之间填充,使“上升”和“下降”之间的nan值填充为“上方”,而“下降”和“上升”之间的nan值填充为“下方”。这样我就得到了一个如下的熊猫数据帧: A 0 'Ascent' 1 'Above' 2 'Above' 3 'Descent' 4 'Below' 5 'Ascen

如果我有这样一个数据帧:

        A
 0  Ascent
 1   NaN
 2   NaN
 3  Descent
 4   NaN
 5  Ascent
如何在单词之间填充,使“上升”和“下降”之间的nan值填充为“上方”,而“下降”和“上升”之间的nan值填充为“下方”。这样我就得到了一个如下的熊猫数据帧:

        A
 0  'Ascent'
 1   'Above'
 2   'Above'
 3  'Descent'
 4   'Below'
 5  'Ascent'

我决定用
fillna
map
玩一玩:

df

         A
0   Ascent
1      NaN
2      NaN
3  Descent
4      NaN
5   Ascent

df['A'].fillna(df['A'].ffill().map({'Ascent':'Above', 'Descent': 'Below'}))
# Identical solution, different order of method calls,
# df['A'].fillna(df['A'].map({'Ascent':'Above', 'Descent': 'Below'}).ffill())

0     Ascent
1      Above
2      Above
3    Descent
4      Below
5     Ascent
Name: A, dtype: object

我决定用
fillna
map
玩一玩:

df

         A
0   Ascent
1      NaN
2      NaN
3  Descent
4      NaN
5   Ascent

df['A'].fillna(df['A'].ffill().map({'Ascent':'Above', 'Descent': 'Below'}))
# Identical solution, different order of method calls,
# df['A'].fillna(df['A'].map({'Ascent':'Above', 'Descent': 'Below'}).ffill())

0     Ascent
1      Above
2      Above
3    Descent
4      Below
5     Ascent
Name: A, dtype: object

你真快!我的尊敬@我的朋友,这是练习@冷速度很好!你真快!我的尊敬@我的朋友,这是练习@冷速度很好!你能有两个相邻的上升或两个中间有NaN的下降吗?这可能是一个潜在的情况。没有想到这一点,你想如何处理这些情况?你能有两个相邻的上升或两个中间有NaN的下降吗?这可能是一个潜在的情况。没想到你想怎么处理这些案子?