python - 如何根据另一列的字符串值更新一列的行? python Pandas

标签 python numpy pandas

我有一个如下所示的数据框:

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/

相关文章:

python - 在 python 中读取 YAML 配置文件并使用变量

python - sklearn - 具有多个分数的交叉验证

python - 比较 Pandas DataFrame 中的前一行值

python - 在 Dataframe 中展开嵌套字典

python - NumPy 数组中满足值和索引条件的元素的索引

python - 如何减少 for 循环创建字典的运行时间

python - Django 在 Markdown 中包含模板

python - 使用 F 对象切换查询集中的 boolean 字段

python - Django 自定义默认组模型

python - 如何使用Dask.Array.From_Zarr在Dask上打开zarr文件?