Gil*_*yan 25 python python-2.7 pandas
我在将大写字母应用于DataFrame中的列时遇到了问题.
数据帧是df.
1/2 ID 是需要应用大写的列头.
问题是这些值由三个字母和三个数字组成.例如rrr123,其中一个值.
df['1/2 ID'] = map(str.upper, df['1/2 ID'])
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
TypeError: descriptor 'upper' requires a 'str' object but received a 'unicode' error.
如何将大写应用于DataFrame列中的前三个字母df?
EdC*_*ica 58
如果您的熊猫版本是最新版本,那么您可以使用矢量化字符串方法upper:
df['1/2 ID'] = df['1/2 ID'].str.upper()
Run Code Online (Sandbox Code Playgroud)
此方法无法正常工作,因此必须返回结果.
Di *_*Zou 22
这应该工作:
df['1/2 ID'] = map(lambda x: str(x).upper(), df['1/2 ID'])
Run Code Online (Sandbox Code Playgroud)
str.upper() 想要一个普通的Python 2字符串
unicode.upper() 会想要unicode而不是字符串(或者你得到TypeError:描述符'upper'需要'unicode'对象但收到'str')
因此,我建议使用鸭子打字并调用.upper()每个元素,例如
df['1/2 ID'].apply(lambda x: x.upper(), inplace=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53711 次 |
| 最近记录: |