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的下降吗?这可能是一个潜在的情况。没想到你想怎么处理这些案子?