我有一个如下所示的数据框:
df = pd.DataFrame({'Planets': ['Mars','Mars','Mars', 'Jupyter', 'Venus', 'Venus', 'Mercury'], 'Rank': [1,np.nan, np.nan, 2, 3, np.nan, 4]})
我希望根据 Planet 条目的并发性更新 Rank 列(其中有空值)。例如,如果 Rank 列中的条目“1”后面有空值,我们将用 1 填充接下来的两个空行。
最佳答案
您可以使用ffill (前向填充):
In [11]: df
Out[11]:
Planets Rank
0 Mars 1
1 Mars NaN
2 Mars NaN
3 Jupyter 2
4 Venus 3
5 Venus NaN
6 Mercury 4
In [12]: df["Rank"].ffill()
Out[12]:
0 1
1 1
2 1
3 2
4 3
5 3
6 4
Name: Rank, dtype: float64
In [13]: df["Rank"] = df["Rank"].ffill()
In [14]: df
Out[14]:
Planets Rank
0 Mars 1
1 Mars 1
2 Mars 1
3 Jupyter 2
4 Venus 3
5 Venus 3
6 Mercury 4
关于python - 如何根据另一列的字符串值更新一列的行? python Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33281093/