【发布时间】:2021-02-03 21:52:47
【问题描述】:
我有一个如下所示的数据框:
article_id title
NaN title_1
NaN title_2
NaN title_3
'202102011404103' title_4
'202102011404104' title_5
NaN title_6
我想将此代码应用于 article_id 列中的 NaN 值:
from datetime import datetime
date = datetime.strftime(datetime.now(), "%Y%m%d%H%M")
df['article_id'] = [int(date + str("0"*(3-len(str(i)))) + str(i)) + 1 for i, k in df.reset_index().iterrows()]
我想从 1 月 1 日开始,而不是 `datetime.now()。例如,我想为变量 date = '202101011348' 设置一个值
在最终结果中,我希望 article_id 列的第 4 行和第 5 行的长度相同,并从一个精确的日期开始 (202101011348)
我坚持这样做:
df[df['article_id'].isna()]
然后应用上面的代码。
预期输出:
article_id title
'202101011404106' title_1
'202101011404107' title_2
'202101011404108' title_3
'202102011404103' title_4
'202102011404104' title_5
'202101011404109' title_6
但是如何将其直接应用于 df,仅应用于 article_id 列中的 NaN 值?
【问题讨论】: