替换pandas管道方法中从第二行开始的值



我想知道如何在管道方法(连接到其余步骤)中替换从第二行开始的值。

import pandas as pd
import numpy as np
df = pd.DataFrame(
{
"Date": ["2020-01-01", "2021-01-01", "2022-01-01"],
"Pop": [90, 70, 60],
}
)
Date  Pop
0  2020-01-01   90
1  2021-01-01   70
2  2022-01-01   60

当前解决方案

df.iloc[1:] = np.nan
预期输出

Date  Pop
0  2020-01-01   90
1  2021-01-01  NaN
2  2022-01-01  NaN

您也可以这样使用assign:

df.assign(Pop=df.loc[[0], 'Pop'])

输出:

Date   Pop
0  2020-01-01  90.0
1  2021-01-01   NaN
2  2022-01-01   NaN

注意:assign使用漂亮的列标题,如果你的标题有空格或特殊字符,你将需要使用不同的方法。

最新更新