【发布时间】:2021-04-21 11:28:40
【问题描述】:
我正在努力改变用户对某些 YouTube 视频的看法。因此,我为每个用户提供了一个 csv 文件,其中存储了他的 cmets、极性和发布每个评论的日期。任务是计算阿尔法,它是指在一段时间内改变意见的平均值。但是我遇到了一个问题。 下面是我的脚本
from datetime import date, timedelta
def parse(mydate):
d,m,y=map(int,mydate.split('-'))
return date(d,m,y)
path = r'C:/Users/dell/project/script/base v2'
filenames = glob.glob(path + "/*.csv")
nfile=len(filenames)
Alphaa=[]
for k in range(0,nfile):
pd1=pd.read_csv(filenames[k])
dfa=[]
for i in range(len(pd1)-1):
date1=pd.to_datetime(pd1['publishedAt'][i:i+1])
date2=pd.to_datetime(pd1['publishedAt'][i+1:i+2])
date11=date1.to_string(index = False)
date21=date2.to_string(index = False)
date1=str(pd.DataFrame(pd1['publishedAt'][i:i+1]))
date2=str(pd.DataFrame(pd1['publishedAt'][i+1:i+2]))
duration=abs((parse(date21)-parse(date11)).days)
p1=pd1['polarity'][i]
p2=pd1['polarity'][i+1]
diff=p2-p1
if diff == 0:
alph="NULL"
UserOpinion="NULL"
else:
alph= duration/diff
UserOpinion=alph*p1
dfa.append(alph)
Alphaa.append(dfa)
这是回溯错误
ValueError Traceback (most recent call last)
<ipython-input-9-9704e3a864cf> in <module>
54 date1=str(pd.DataFrame(pd1['publishedAt'][i:i+1]))
55 date2=str(pd.DataFrame(pd1['publishedAt'][i+1:i+2]))
---> 56 duration=abs((parse(date21)-parse(date11)).days)
57
58 p1=pd1['polarity'][i]
<ipython-input-9-9704e3a864cf> in parse(mydate)
36 from datetime import date, timedelta
37 def parse(mydate):
---> 38 d,m,y=map(int,mydate.split('-'))
39 return date(d,m,y)
40
ValueError: invalid literal for int() with base 10: 'NaT'
我尝试将结果的形式更改为浮点数,但它不起作用。请问有什么帮助吗?
【问题讨论】:
-
您是否尝试检查
mydate的值?发生错误对您有意义吗?当值为NaT时,您认为转换后应该产生什么整数?为什么?
标签: python datetime youtube-data-api invalidation