新手问题
我有一个包含日期列表的数据框。我想计算日期的数量,并在一个新列中插入按行经过的总天数。我已经得到了一个插入计数的工作循环,但是它插入了整个列长度的计数。我发现我要做的是告诉它插入整个系列的长度,这样我就知道为什么出错了,但是我已经猜不出谷歌能找到我要找的信息
我所拥有的:
我想要得到的是:
我是如何做到这一点的:
index = 0
for row in df:
df['day_num'] = index
index = index + 1
我意识到这可能是通过设置df extract的索引值来实现的,我正在使用这种方法来获取我想要的值,这是关于理解如何如上所述插入值
标准熊猫警告:在熊猫中循环很少是个好主意。但是,以下是循环问题的解释:
df['day_num'] = index
是在每次迭代时将整个列设置为一个值index
。这就是为什么在最后,整个专栏是2要使用循环执行此操作,请迭代
df.itertuples()
并指定所需的值.at[row.Index, 'day_num']
:要只包含一个运行计数器,您只需执行以下操作
输出
要从数据帧中的第一天开始实际计算天数,可以执行以下操作
(确保“日期”列是实际日期,即您可能希望首先执行
df['date'] = pd.to_datetime(df['date'])
)相关问题 更多 >
编程相关推荐