如果我有这样的数据框:
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
关于python - 如何使用 Pandas 在两个不同的单词之间填充?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55447061/