# 모든 열의 이름 바꾸기

import pandas as pd
import pyspark.pandas as ps
from pyspark.sql import SparkSession

my_list = [[230.1, 37.8, 69.2, 22.1], [44.5, 39.3, 45.1, 10.4],[17.2, 45.9, 69.3, 9.3],[151.5, 41.3, 58.5, 18.5]]
col_name = ['TV', 'Radio', 'Newspaper', 'Sales']
# df
#-- pd --
dp = pd.DataFrame(my_list, columns= col_name)
dp.columns = ['a', 'b', 'c', 'd']
dp.head(4)

 

 

spark = SparkSession .builder \
    .appName("Python Spark create RDD example") \
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()
ds = spark.read.format("csv").load("/FileStore/tables/Advertising.csv", header=True)
#-- ps --
ds.toDF('a', 'b', 'c', 'd').show(4)

 

 

# 하나 혹은  그 이상의 열 이름 바꾸기

mapping = {'Newspaper':'C', 'Sales':'D'}
#-- pd --
my_list = [[230.1, 37.8, 69.2, 22.1], [44.5, 39.3, 45.1, 10.4],[17.2, 45.9, 69.3, 9.3],[151.5, 41.3, 58.5, 18.5]]
col_name = ['TV', 'Radio', 'Newspaper', 'Sales']
#-- pd --
dp = pd.DataFrame(my_list, columns= col_name)
dp.rename(columns=mapping).head(4)

 

 

#-- ps --
ds = spark.read.format("csv").load("/FileStore/tables/Advertising.csv", header=True)
mapping = {'Newspaper':'C', 'Sales':'D'}
new_names = [mapping.get(col, col) for col in ds.columns]
ds.toDF(*new_names).show(4)

 

 

Note : PySpark에서 한 컬럼의 이름을 바꾸기 위해 withColumnRenamed를 사용 할 수도 있습니다.

#-- ps --
ds = spark.read.format("csv").load("/FileStore/tables/Advertising.csv", header=True)
ds.withColumnRenamed('Newspaper','Paper').show(4)

 

 

 

 

 

 

+ Recent posts