python - 从数据框列名称中删除句点 (.)

标签 python dataframe apache-spark pyspark

因此,我已经浏览了此处从列名称中替换特殊字符的所有示例,但我似乎无法让它在句点内工作。

我尝试过的:

# 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/

相关文章:

apache-spark - 在 apache spark 的从机上生成输出文件

java - Spark 提交失败,出现 java.lang.NoSuchMethodError : scala. Predef$.$conforms()Lscala/Predef$$less$colon$less;

python - Matplotlib:具有不同舱口的堆栈图

r - 从数据框中成对的重复删除

python - DataFrame.columns.name 是什么?

python - 对多个变量/列进行分组的最快方法

scala - spark mllib 将函数应用于 rowMatrix 的所有元素

python - 基于 token 桶算法的异步信号量

python - django form.as_p 中的表单不同

python - Python 中多元 5 次多项式回归的曲面图