Python 如何避免applymap()中的NAN?
我正在尝试做一个简单的操作,将数据帧转换为标题库 有些NAN会导致错误,因此我想通过应用Python 如何避免applymap()中的NAN?,python,pandas,Python,Pandas,我正在尝试做一个简单的操作,将数据帧转换为标题库 有些NAN会导致错误,因此我想通过应用str.title()来避免它们,前提是不为null 但是,我得到的语法无效 df= df.applymap(lambda x: x.title() if pd.notnull(x)) ^ SyntaxError: invalid syntax 另一种尝试: df= df.
str.title()
来避免它们,前提是不为null
但是,我得到的语法无效
df= df.applymap(lambda x: x.title() if pd.notnull(x))
^
SyntaxError: invalid syntax
另一种尝试:
df= df.applymap(lambda x: x.title() if not pd.isnull(x))
SyntaxError: invalid syntax
这是一个问题,您还必须为其他
(如果不满足条件)提供一个值
试试这个:
df=df.applymap(如果pd.notnull(x)else“”,则为lambda x:x.title())
您可以用空白字符串填充缺少的值:
df = df.fillna("").applymap(lambda x: x.title())
pandas.Series.str.title
numpy.core.defchararray.title
运行
Series.str.title
df.apply(lambda x:x.str.title())
谢谢if语句是否总是需要一个
else
?@SCool否,但它不是一个真正的if语句,它是一个必须计算为某个值的表达式。为什么NaN的存在会导致错误?出于好奇,我认为str.title()会忽略它们,哪一个更快:(1)将矩阵重塑为单列以应用str方法,而不是(2)对矩阵的每列应用str方法
from numpy.core.defchararray import title
title(df.to_numpy().astype(str))
df.apply(lambda x:x.str.title())