Cur*_*ent 2 python apply pandas
我在数据框中有一个基于文本的列,类似于以下格式:
Text
0 I am me
1 I am not you
2 I will be him
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行一个字符串函数来删除最后一个空格(包括空格)之后的任何内容.例如'我就是我'将成为'我是'
码:
df['Text'] = df['Test'].apply(lambda x: x.str.split(' ').str[:-1].str.join(' '))
Run Code Online (Sandbox Code Playgroud)
但是,这会给出错误:
AttributeError:'str'对象没有属性'str'
由于apply函数独立工作,我不太理解,在将其应用于数据帧中的特定列时似乎只会失败?(和我一样奇怪和错误......)
当您使用vanilla字符串时,可以直接调用函数.直接使用pandas列时,请使用str访问器方法.
案例1
如我的评论中所述,使用str方法:
df
Text
0 I am me
1 I am not you
2 I will be him
df['Text'] = df['Text'].str.split().str[:-1].str.join(' ')
Text
0 I am
1 I am not
2 I will be
Run Code Online (Sandbox Code Playgroud)
情况2
或者,当处理apply单个列时,lambda接收字符串(而不是a pd.Series),因此.str不涉及访问器方法.
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |