Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 将pandas系列中的字符串转换为小写时出现问题_Python 2.7_Pandas_Series_Lowercase - Fatal编程技术网

Python 2.7 将pandas系列中的字符串转换为小写时出现问题

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',

我能够在数据帧中使用带有map的lambda函数(lambda x:x.lower())来实现这一点。我尝试在pd.series.apply()中使用lambda函数,但没有成功。另外,当我尝试用类似于series['A']的东西来隔离串联的列时,它是否应该返回索引(尽管我认为这是有意义的),因为我得到了一个浮点错误,即使我想要应用lower方法的值是字符串。任何帮助都将不胜感激。

您可以使用,其中包括:

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())
将在所有列上执行此操作