pandas dataframe细节错误

工作中碰到了两个pandas中的小bug,而且会导致连环的错误,所以记录一下

1.假设一个dataframe(df)为空,则df.to_csv(tmpfile) 会报错 None of [xxx] in columns

因此在输出时需要先判断df是否为空

例如

df = df[df['a‘] == 0]  (假设这个查询为空 多个条件查询最好写df.a 并且用把多个条件用“()”)
#判断是否为空
#这里不能写 if not df ,会报错“The truth value of a DataFrame is ambiguous”
if df.shape[0] == 0 :
	return None
else:
	return df

2.在上一步中我们得到了一个返回值(可能为None),假设在另一个函数中我们需要该返回值,同样需要判断,
这里也犯了几次错误。

#判断上一步的df是否为空
if not df:
	会报错“The truth value of a DataFrame is ambiguous”
if df.shape[0]==0:
	会报错none has no attribute shape
"""正确判断为"""
if df is none:
	return none
else:
	df = xxxxx(后续步骤)

你可能感兴趣的:(python)