在数据帧中定期更改值

问题描述

假设我有一个格式为

的数据框
index         names
1             Gina
2             George
3             John
4             Alex
5   
6
7
8
9             Nathan
10
11
12
13
14            Alice
15
16
17
18

我想像这样改造它

index         names
1             Gina
2             George
3             John
4             Alex
5             Alex
6             Alex
7             Alex
8             Alex
9             Alex
10            Nathan
11            Nathan
12            Nathan
13            Nathan
14            Alice
15            Alice
16            Alice
17            Alice
18            Alice

基本上,我必须将值复制粘贴到索引中4次。我所做的就是创建一个列表

for i in range(4,100,5):
loop.append(i) 

我每次都需要在其中复制我的名字的值,然后我开始考虑以表单的形式创建一个简单的循环

for i in loop:
  name1[i+1,0]= name1[i,0]
  name1[i+2,0]
  name1[i+3,0]
  name1[i+4,0]

但是我收到一个错误,形式是

 File "pandas\_libs\index_class_helper.pxi",line 109,in pandas._libs.index.Int64Engine._check_type
KeyError: (3,0)

编辑:因为也许我不太清楚。我有一个带有空值的数据框。如您所见,索引4的值为Alex,索引9的值为Nathan,索引14的值为Alice。我想将该值复制粘贴到接下来的4行中。这是定期发生的。因此,我创建了一个列表,其中有要复制的名称的索引[4,9,14,19,24,...,95],然后执行循环以将名称从索引复制到接下来的4行

解决方法

我认为您正在尝试实现相当于ffill的熊猫。尝试使用以下代码:

c = ['names']
df.loc[:,c] = df.loc[:,c].ffill()
,

我也没有收到您的问题,但是比@oreopot答案更简单:

model

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...