【发布时间】:2017-05-08 13:38:59
【问题描述】:
我有一个这样的数据框:
import numpy as np
raw_data = {'surface': [np.nan, np.nan, 'round', 'square'],
'city': ['San Francisco', 'Miami', 'San Francisco', 'Miami']}
df = pd.DataFrame(raw_data, columns = ['surface', 'city'])
看起来像这样:
surface city
0 NaN San Francisco
1 NaN Miami
2 round San Francisco
3 square Miami
我需要旧金山行的最早实例用“圆形”填充,而较早的迈阿密行用“方形”填充。使用 .fillna(method='bfill') 不会考虑其他列值,而只是用 round 填充所有前面的行。
结果是:
surface city
0 round San Francisco
1 square Miami
2 round San Francisco
3 square Miami
【问题讨论】:
-
你想用同一个城市的第一个实数值填充 NaN 吗?