python - 在 pandas 管道方法中替换第二行开始的值

标签 python pandas numpy

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

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

最佳答案

您还可以像这样使用分配:

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

注意:分配适用于nice列标题,如果您的标题包含空格或特殊字符,则需要使用不同的方法。

关于python - 在 pandas 管道方法中替换第二行开始的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74659122/

相关文章:

python - Matlab和Numpy与Python的 `round`函数的区别

python - 对两个 NumPy 数组中的正元素和负元素求和

python - 无法将 (N, 1) 数组转换为 (N,)

python - Pandas dataframe 隔离关键字下方的行

python - 有两种方式从 Pandas DataFrame 中提取单列,有什么区别?

python - Pandas Groupby 对特定列进行聚合函数,显示结果中的所有列

python - 使用 LSTM 层在 Keras 中进行预测

python - 为什么定位 Shadow dom 元素在第 5 个元素处失败?

Python 基于字符串的 if 语句

python - Pybind Numpy 访问 2D/ND 数组