因此,我已经浏览了此处从列名称中替换特殊字符的所有示例,但我似乎无法让它在句点内工作。
我尝试过的:
# works to remove spaces
df.select([F.col(c).alias(c.replace(' ', '_')) for c in df.columns])
# doesn't work to remove periods
df.select([F.col(c).alias(c.replace('.', '')) for c in df.columns])
# removes special characters except periods
df.select([F.col(col).alias(re.sub("[^0-9a-zA-Z$]+","",col)) for col in df.columns])
我知道如何通过引用特定列来更改列的名称,但这需要更改任何包含特殊字符列的数据框的列名称
具体来说,这是给我带来麻烦的列名称:“Src. of Business Contact Full Name”
最佳答案
select()
是一个已弃用的方法。为什么不像下面这样简单呢?
import re
df = pd.DataFrame(["a biz"], columns=["Src.$ of-Business Contact` Full Name"])
df.columns = [re.sub("[ ,-]", "_", re.sub("[\.,`,\$]", "", c)) for c in df.columns]
df
输出
Src_of_Business_Contact_Full_Name
0 a biz
关于python - 从数据框列名称中删除句点 (.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62818707/