Rah*_*ava 7 python string pandas
嘿,我已经看到了这个链接,但在那里他们已经使用了re模块,这就是我在这里发布的原因.希望您理解并删除副本.
这是链接.我想用re模块.
表:
A B C D
1 Q! W@ 2
2 1$ E% 3
3 S2# D! 4
Run Code Online (Sandbox Code Playgroud)
在这里,我想从column B和删除特殊字符C.我已经使用.transform()但我想re尽可能使用它,但我收到了错误.
输出:
A B C D E F
1 Q! W@ 2 Q W
2 1$ E% 3 1 E
3 S2# D! 4 S2 D
Run Code Online (Sandbox Code Playgroud)
我的代码:
df['E'] = df['B'].str.translate(None, ",!.; -@!%^&*)(")
Run Code Online (Sandbox Code Playgroud)
它只有在我知道什么是特殊字符时才有用.
但我想使用re哪种方式最好.
import re
#re.sub(r'\W+', '', your_string)
df['E'] = re.sub(r'\W+', '', df['B'].str)
Run Code Online (Sandbox Code Playgroud)
我在这里得到错误:
TypeError: expected string or buffer
Run Code Online (Sandbox Code Playgroud)
那么我应该如何传递该值以获得正确的输出.
Ami*_*ani 10
一个没有的衬里lamda是:
df['E'] = df['B'].str.replace('\W', '')
Run Code Online (Sandbox Code Playgroud)
如该答案所示,您可以使用将汇编并返回您喜欢的任何表达式map()的lambda函数:
df['E'] = df['B'].map(lambda x: re.sub(r'\W+', '', x))
Run Code Online (Sandbox Code Playgroud)
lambda简单地定义匿名函数。您可以将它们保留为匿名状态,或像其他任何对象一样将它们分配给引用。my_function = lambda x: x.my_method(3)等同于def my_function(x): return x.my_method(3)。
| 归档时间: |
|
| 查看次数: |
26380 次 |
| 最近记录: |