如何向现有Dataframe中添加步长为15的递增序列列
实现DataFrame新增步长为15的自增列方案
以下分R语言、Python Pandas两种常用场景给出通用实现:
R语言实现
R里直接用seq()生成匹配行数的等差序列即可,基础写法如下:
# nrow(df)自动取当前DataFrame的行数,生成对应长度的序列 df$fifteen <- seq(from = 0, by = 15, length.out = nrow(df))
如果用tidyverse生态的dplyr包,写法如下:
library(dplyr) df <- df %>% mutate(fifteen = seq(0, by = 15, length.out = n()))
Python Pandas实现
可以用numpy生成序列,也可以用原生列表推导式实现:
# 基于numpy的写法 import numpy as np df['fifteen'] = np.arange(0, len(df)*15, 15) # 不用第三方依赖的原生写法 df['fifteen'] = [i * 15 for i in range(len(df))]
以上所有方案都不需要提前知道具体行数n,会自动适配当前DataFrame的长度生成对应的列值。
内容的提问来源于stack exchange,提问作者Michelle
相关产品推荐
相关产品推荐

