在Pandas中,我们可以用某些值替换前n行:

import pandas as pd
import numpy as np

df = pd.DataFrame({"test": np.arange(0, 10)})
df.iloc[0:5] = np.nan
df

out:
   test
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN
5   5.0
6   6.0
7   7.0
8   8.0
9   9.0

Python Polars年里,相当于什么操作?

推荐答案

您可以使用DataFrame.with_row_index():

import polars as pl

df = pl.DataFrame({"test": np.arange(1, 11)})

print(
    df.with_row_index()
    .with_columns(
        pl.when(pl.col("index") < 5)
        .then(None)
        .otherwise(pl.col("test"))
        .alias("test")
    )
    .drop("index")
)

打印:

shape: (10, 1)
┌──────┐
│ test │
│ ---  │
│ f64  │
╞══════╡
│ Null │
│ Null │
│ Null │
│ Null │
│ Null │
│ 6    │
│ 7    │
│ 8    │
│ 9    │
│ 10   │
└──────┘

pl.int_range(),这在团体的情况下提供了更大的灵活性.

print(
(df
 .with_columns(
    pl.int_range(0, pl.len(), dtype=pl.UInt32).over(True).alias("index")
    )
 .with_columns(
     pl.when(pl.col("index") < 5)
     .then(None)
     .otherwise(pl.col("test"))
     .alias("test")
     )
 .drop("index")
 )
)

Python相关问答推荐

将numpy数组存储在原始二进制文件中

如何使用Jinja语法在HTML中重定向期间传递变量?

Python会扔掉未使用的表情吗?

Python在tuple上操作不会通过整个单词匹配

Python虚拟环境的轻量级使用

如何根据一列的值有条件地 Select 前N个组,然后按两列分组?

Pandas GroupBy可以分成两个盒子吗?

* 动态地 * 修饰Python中的递归函数

Maya Python脚本将纹理应用于所有对象,而不是选定对象

如何杀死一个进程,我的Python可执行文件以sudo启动?

Flask Jinja2如果语句总是计算为false&

Python—转换日期:价目表到新行

重置PD帧中的值

(Python/Pandas)基于列中非缺失值的子集DataFrame

在用于Python的Bokeh包中设置按钮的样式

计算机找不到已安装的库'

应用指定的规则构建数组

有没有办法让Re.Sub报告它所做的每一次替换?

上传文件并使用Panda打开时的Flask 问题

在聚合中使用python-polars时如何计算模式