1 pyspark
我是 pySpark 的新手。我收到了一个大约有 1000 列的 csv 文件。我正在使用数据块。大多数这些列之间都有空格,例如“总收入”、“总年龄”等。我需要用带有下划线“_”的空格更新所有列名称。
我试过这个
foreach(DataColumn c in cloned.Columns) c.ColumnName = String.Join("_", c.ColumnName.Split());
但它在数据块上的 Pyspark 中不起作用。
我会select与list理解结合使用:
from pyspark.sql import functions as F
renamed_df = df.select([F.col(col).alias(col.replace(' ', '_')) for col in df.columns])
Run Code Online (Sandbox Code Playgroud)
小智 2
删除列名中的空格的两种方法: 1. 在将数据导入到 Spark 数据框时使用架构:例如:
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
Schema1 = StructType([StructField('field1', IntegerType(), True),
StructField('field2', StringType(), True),
StructField('field3', IntegerType(), True)])
df = spark.read.csv('/path/to/your/file.csv', header=True, schema=Schema1)
Run Code Online (Sandbox Code Playgroud)
如果您已经将数据导入到数据框中,请使用 dataframe.withColumnRenamed 函数更改列的名称:
df=df.withColumnRenamed("字段名称","fieldName")
| 归档时间: |
|
| 查看次数: |
6991 次 |
| 最近记录: |