我是python的新手,所以这可能是一个非常基本的问题.我正在尝试使用lambda来删除pandas数据帧中每一行的标点符号.我使用了以下内容,但收到了错误.我试图避免将df转换为列表然后将清理后的结果附加到新列表中,然后将其转换回df.
任何建议,将不胜感激!
import string
df['cleaned'] = df['old'].apply(lambda x: x.replace(c,'') for c in string.punctuation)
Run Code Online (Sandbox Code Playgroud) 我认为以下代码效率很低.有没有更好的方法在熊猫中进行这种类型的常见重新编码?
df['F'] = 0
df['F'][(df['B'] >=3) & (df['C'] >=4.35)] = 1
df['F'][(df['B'] >=3) & (df['C'] < 4.35)] = 2
df['F'][(df['B'] < 3) & (df['C'] >=4.35)] = 3
df['F'][(df['B'] < 3) & (df['C'] < 4.35)] = 4
Run Code Online (Sandbox Code Playgroud) 我有兴趣从 split_part 函数结果中获取最后一项。
如果 field1 有:
abc : def : ghi : jkl
abc : def : ghi : jkl : lmn
Run Code Online (Sandbox Code Playgroud)
split_part(reverse(field1), ':', 1) 不起作用,因为它返回
lkj
nml
Run Code Online (Sandbox Code Playgroud)
我希望它返回:
jkl
lmn
Run Code Online (Sandbox Code Playgroud)