Python 2.7 将pandas系列中的字符串转换为小写时出现问题
我能够在数据帧中使用带有map的lambda函数(lambda x:x.lower())来实现这一点。我尝试在pd.series.apply()中使用lambda函数,但没有成功。另外,当我尝试用类似于series['A']的东西来隔离串联的列时,它是否应该返回索引(尽管我认为这是有意义的),因为我得到了一个浮点错误,即使我想要应用lower方法的值是字符串。任何帮助都将不胜感激。您可以使用,其中包括:Python 2.7 将pandas系列中的字符串转换为小写时出现问题,python-2.7,pandas,series,lowercase,Python 2.7,Pandas,Series,Lowercase,我能够在数据帧中使用带有map的lambda函数(lambda x:x.lower())来实现这一点。我尝试在pd.series.apply()中使用lambda函数,但没有成功。另外,当我尝试用类似于series['A']的东西来隔离串联的列时,它是否应该返回索引(尽管我认为这是有意义的),因为我得到了一个浮点错误,即使我想要应用lower方法的值是字符串。任何帮助都将不胜感激。您可以使用,其中包括: In [11]: df = pd.DataFrame([['A', 'B'], ['C',
In [11]: df = pd.DataFrame([['A', 'B'], ['C', 4]], columns=['X', 'Y'])
In [12]: df
Out[12]:
X Y
0 A B
1 C 4
In [13]: df.X.str.lower()
Out[13]:
0 a
1 c
Name: X, dtype: object
In [14]: df.Y.str.lower()
Out[14]:
0 b
1 NaN
Name: Y, dtype: object
我不确定您在整个数据帧中尝试了什么,可能是
df.applymap(lambda x:x.lower(),如果是instance(x,basestring)else x)
(注意:这不是很有效)。谢谢。这比我用的更简洁。我想我还发现了另一个问题。我正在用pd.read\u csv阅读csv。有间隙,读取时用nan填充,nan是浮点数而不是字符串,所以我想这就是我出错的原因。@user2592989 nan是整个pandas中使用的缺失数据的占位符(这是一个浮点数,因此可以解释)df.apply(lambda x:x.str.lower())
将在所有列上执行此操作