当前位置: 首页 > 面试题库 >

向前填充熊猫数据框中的特定列

吴刚毅
2023-03-14
问题内容

如果我有一个包含多列的数据框['x', 'y', 'z'],如何只填充一列'x'?还是一组列['x','y']

我只知道如何按轴进行操作。


问题答案:

tl; dr:

cols = ['X', 'Y']
df.loc[:,cols] = df.loc[:,cols].ffill()

我还添加了一个自我包含的示例:

>>> import pandas as pd
>>> import numpy as np
>>> 
>>> ## create dataframe
... ts1 = [0, 1, np.nan, np.nan, np.nan, np.nan]
>>> ts2 = [0, 2, np.nan, 3, np.nan, np.nan]
>>> d =  {'X': ts1, 'Y': ts2, 'Z': ts2}
>>> df = pd.DataFrame(data=d)
>>> print(df.head())
    X   Y   Z
0   0   0   0
1   1   2   2
2 NaN NaN NaN
3 NaN   3   3
4 NaN NaN NaN
>>> 
>>> ## apply forward fill
... cols = ['X', 'Y']
>>> df.loc[:,cols] = df.loc[:,cols].ffill()
>>> print(df.head())
   X  Y   Z
0  0  0   0
1  1  2   2
2  1  2 NaN
3  1  3   3
4  1  3 NaN


 类似资料:
  • 向对象似乎很难完成。有3个与此相关的stackoverflow问题,没有一个给出有效的答案。 这就是我要做的。我有一个DataFrame,我已经知道它的形状以及行和列的名称。 现在,我有了一个迭代计算行值的函数。我如何用字典或?以下是失败的各种尝试: 显然,它试图添加一列而不是一行。 非常不具信息性的错误消息。 显然,这仅用于在数据框中设置单个值。 我不想忽略索引,否则结果如下: 它确实对齐了列名

  • 问题内容: 我有一个数据框 ,它有一 列。我想创建两个新的数据框。一个包含 年份等于的所有行 ,另一个数据框包含 年份不等于的所有行 。我知道您可以这样做,`df.ix[‘2000-1-1’ ‘2001-1-1’]`但是为了获得2000年中没有的所有行,需要创建2个额外的数据帧,然后进行串联/联接。 有这样的办法吗? 这段代码不起作用,但是有什么类似的方法吗? 问题答案: 您可以使用datetim

  • 假设我有以下数据。 我想用以前的值填充缺少的日期(按字段“g”分组)。例如,我想在上面的示例中添加以下主菜: 我该怎么做呢?

  • 我正在为大学做一个项目。我刚刚学习了Java和JavaFX。 我有问题,也许有人能帮我。 有了这个小软件,你可以计划一周的任务。在tableview中,您有星期一到星期五的列。 我有一个数据库,在那里我可以获取对象“auftragsveretilung”(意思是任务,计划在特定日期)。这些对象有一个序列号(=seriennr)和一个日期(=bearbeitungsdatum)。 为了在tablev

  • 我创建了一个名为的函数,该函数采用了如图所示的这3个参数,结果是新参数。我想将此函数应用于一个数据帧,其中函数参数是数据帧中的某些列,并希望将函数的输出参数添加为数据帧中的新参数,在数据帧中为每行计算函数。

  • 问题内容: 我有从构成的DataFrame 。一行包含96个值,我想将DataFrame与值72分开。 以便将行的前72个值存储在Dataframe1中,并将行的后24个值存储在Dataframe2中。 我按如下方式创建我的DF: 问题是:如何拆分它们?:) 问题答案: (iloc文档)