【发布时间】:2018-02-22 18:22:21
【问题描述】:
我有一个 pandas 数据框和一个名为“电子邮件”的列。我已经验证了 dtype 是对象。它包含正常格式的电子邮件,例如 xxx@yyy.com
当我这样做时:
$ df['emaillower'] = df['email'].apply(lambda x: x.lower())
我明白了:
Traceback (most recent call last):
File "<ipython-input-153-e951d53133eb>", line 1, in <module>
df['emaillower'] = df['email'].apply(lambda x: x.upper())
File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\core\series.py",
line
2355, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File "pandas\_libs\src\inference.pyx", line 1569, in
pandas._libs.lib.map_infer (pandas\_libs\lib.c:66440)
File "<ipython-input-153-e951d53133eb>", line 1, in <lambda>
df['emaillower'] = df['email'].apply(lambda x: x.upper())
AttributeError: 'float' object has no attribute 'upper'
发生了什么事?
【问题讨论】:
-
您的“电子邮件”列是否只包含字符串??