我已经浏览了网站上的所有帖子,无法找到解决问题的方法
我有一个15列的数据帧。其中一些带有None
或NaN
值。我需要帮助来写if-else条件
如果dataframe中的列不是null和nan,我需要格式化datetime列。当前代码如下
for index, row in df_with_job_name.iterrows():
start_time=df_with_job_name.loc[index,'startTime']
if not df_with_job_name.isna(df_with_job_name.loc[index,'startTime']) :
start_time_formatted =
datetime(*map(int, re.split('[^\d]', start_time)[:-1]))
我得到的错误是
if not df_with_job_name.isna(df_with_job_name.loc[index,'startTime']) :
TypeError: isna() takes exactly 1 argument (2 given)
isna
将整个数据帧作为实例参数(即self
,如果您已经熟悉类),并返回布尔值的数据帧,True
,其中该值无效。您试图将要检查的单个值指定为第二个输入参数isna
不是这样工作的;它在调用中使用空括号你有几个选择。一是遵循个别检查策略here。另一种方法是制作整个数据帧的映射并使用它:
请检查我对行的使用情况;列索引;
index, row
处理看起来不正确。另外,您应该能够一次对整行应用any
操作处理丢失/无效值的直接方法可能是:
当然,您必须导入
math
而且
isna
似乎没有用任何参数调用,而是返回一个布尔值的数据帧(参见link)。您可以遍历这两个数据帧来确定值是否有效相关问题 更多 >
编程相关推荐