제퍼넷 로고

데이터 엔지니어가 알아야 하는 필수 PySpark DataFrame 열 작업

시간

이 기사는 데이터 과학 Blogathon

PySpark 열 작업은 PySpark DataFrame의 원하는 결과를 조작하고 표시하는 데 중요한 역할을 합니다. PySpark 운동을 수행하는 동안 항상 이러한 작업 중 일부 또는 전부가 필요할 수 있으므로 이러한 작업을 아는 것이 중요합니다. PySpark DataFrame은 Spark의 핵심 데이터 구조인 RDD(Resilient Distributed Dataset)를 기반으로 구축되었습니다.

PySpark DataFrame 열 작업
Image1  

이 기사에서는 주로 열을 포함하는 몇 가지 PySpark 작업을 배웁니다. 필요한 라이브러리의 기본 설치, SparkSession 생성부터 시작하여 PySpark DataFrame 열 작업과 관련된 다양한 방법을 탐색합니다. 이 기사가 끝나면 최소한의 노력으로 PySpark DataFrame 조작을 수행할 수 있을 것입니다. 각 섹션에는 이전 섹션에 대한 참조가 있으므로 전체 기사를 단계별로 읽는 것이 좋습니다.

차례

  1. 개요
  2. PySpark DataFrame에서 새 열 만들기
  3. PySpark DataFrame의 기존 열 이름 바꾸기
  4. PySpark DataFrame의 하나 이상의 열 선택
  5. PySpark DataFrame에서 열 별칭 만들기
  6. 결론

개요

Resilient Distributed Dataset은 데이터를 여러 클러스터 노드로 나누어 Spark가 작동하도록 하는 저수준 개체입니다. 그러나 Resilient Distributed Dataset은 직접 작업하기 어렵기 때문에 RDD를 기반으로 구축된 Spark DataFrame 추상화를 사용합니다. Spark DataFrame은 SQL 테이블과 유사하게 동작합니다. 이러한 PySpark DataFrame은 복잡한 계산을 수행하기 위해 RDD보다 더 최적화되어 있습니다. 각 섹션에서는 작업을 적용한 후 현재 PySpark DataFrame과 업데이트된 PySpark DataFrame을 먼저 살펴보겠습니다.

실습을 위해 Google Colaboratory Notebook에서 PySpark 작업을 실행합니다.

PySpark DataFrame에서 새 열 만들기

이 섹션에서는 전제 조건의 일부로 먼저 SparkSession을 만듭니다.. 티그러면 CSV 파일을 가져와서 새 데이터 프레임을 생성합니다. 나중에 우리는 다음을 사용하여 새 열을 만들 것입니다. .withColumn() 방법.

 

라이브러리 설치

!pip 설치 pyspark

 

라이브러리 가져오기

pyspark.sql에서 SparkSession 가져오기

 

스파크 세션 생성

spark = SparkSession.builder.appName('PySpark 열 작업').getOrCreate()

여기에서 문자열을 전달하여 응용 프로그램에 이름을 지정했습니다. .앱 이름() 인수로. 다음으로 우리가 사용한 .getOrCreate() SparkSession을 생성하고 객체 스파크로 인스턴스화합니다. 사용 .getOrCreate() 메서드는 기존 SparkSession이 이미 있는 경우 이를 사용하고 그렇지 않으면 새 SparkSession을 만듭니다.

데이터 세트 읽기

df = spark.read.csv('물고기.csv', sep = ',', inferSchema = True, 헤더 = True)

여기서는 Kaggle에서 다운로드한 Fish 데이터 세트를 가져왔습니다.

 

가져온 데이터 세트 확인

df.show()
데이터 세트 | PySpark DataFrame 열 작업

 

새 열 만들기

df = df.withColumn('kg 단위 무게', df.Weight/1000)

킬로그램 단위의 물고기 무게가 포함된 새 열이 필요하다고 가정해 보겠습니다. 여기에서 우리는 .withColumn() 방법. 에서 .withColumn() 메서드에서 첫 번째 인수는 원하는 새 열 이름이고 두 번째 인수는 원하는 열 값입니다. 여기에서 New Column 이름을 'Weight in Kg'로 지정하고 그 값을 Column Weight로 나눈 값을 1000으로 지정하여 Weight 값을 그램에서 킬로그램으로 변환합니다.

업데이트된 DataFrame 확인

df.show()
데이터 프레임 확인 | PySpark DataFrame 열 작업

PySpark DataFrame의 기존 열 이름 바꾸기

이 섹션에서는 다음을 사용하여 PySpark DataFrames의 기존 열 이름을 바꿉니다. .withColumnRenamed() 방법.

킬로그램 단위의 물고기 무게 열을 추가하여 마지막 단계에서 동일한 업데이트된 DataFrame을 계속 사용하겠습니다.

현재 PySpark DataFrame 확인

df.show()
원본 데이터 프레임 | PySpark DataFrame 열 작업

열 이름 바꾸기

df = df.withColumnRenamed("무게(kg)", "무게(킬로그램)")

이전 섹션에서 생성한 기존 열 이름 'Weight in Kg'를 새로운 이름인 'Weight in Kilograms'로 업데이트했습니다. 여기에서 우리는 .withColumnRenamed() 우리의 필요를 충족시키는 방법. NS .withColumnRenamed() 이 메서드는 두 개의 인수를 취합니다. 첫 번째는 업데이트하려는 기존 열 이름이고, 두 번째는 변경하려는 새 열 이름입니다.

업데이트된 PySpark DataFrame 확인

df.show()
업데이트된 데이터 프레임

PySpark DataFrame의 하나 이상의 열 선택

이 섹션에서는 PySpark DataFrame에서 열을 선택하는 방법을 살펴보겠습니다. PySpark DataFrame의 하나 이상의 열을 선택하려면 다음을 사용합니다. .선택하다() 방법. 이 방법은 SQL과 동일합니다. SELECT 한 번에 하나 또는 여러 열을 선택하는 절.

이름이 변경된 Column of Weights of Fishes in Kilograms로 마지막 단계에서 동일한 업데이트된 DataFrame을 계속 사용하겠습니다.

 

현재 PySpark DataFrame 확인

df.show()
원본 데이터 프레임 | PySpark DataFrame 열 작업

 

열 선택

df.select(df.Weight, df['킬로그램 단위 무게']).show()
열 선택

여기에서 우리는 .선택하다() 메서드를 사용하여 이전 PySpark DataFrame에서 'Weight' 및 'Weight in Kilogram' 열을 선택합니다. NS .선택하다() 메소드는 임의의 수의 인수를 취하며, 각각은 쉼표로 구분된 문자열로 전달되는 열 이름으로 사용됩니다. 같은 열을 두 번 전달하더라도 .보여 주다() 메서드는 열을 두 번 표시합니다.

select 메서드는 PySpark DataFrame을 반환하므로 .보여 주다() 마지막에 PySpark DataFrame을 표시하는 메서드입니다.

PySpark DataFrame에서 열 별칭 만들기

열의 별칭을 만들려면 .alias() 메서드를 사용합니다. 이 방법은 'AS' 별칭을 만드는 데 사용되는 키워드입니다. 출력 PySpark DataFrame의 열에 임시 이름을 제공합니다.

Column of Weights of Fishes in Kilograms로 이름이 변경된 동일한 업데이트된 DataFrame을 계속 사용하겠습니다.

 

현재 PySpark DataFrame 확인

df.show()
현재 데이터 프레임 | PySpark DataFrame 열 작업

열 열 별칭 만들기

df.select(df['킬로그램의 무게'].alias("킬로그램")).show()
별칭 추가

이후, .별명() 메서드는 하나 이상의 열을 선택하는 동안 임시 이름을 제공합니다. .별명() 방법과 함께 .선택하다() 방법. 열에 별칭을 지정하려면 다음을 추가하기만 하면 됩니다. .별명() 열 이름 옆에 메소드.

결론

이 기사에서는 PySpark DataFrame을 조작하기 위한 기본적이면서도 강력한 PySpark 열 작업에 대해 배웠습니다. 이러한 방법은 누구나 갖추어야 할 가장 필수 기술 중 하나입니다. 대부분의 메소드는 Pandas DataFrame과 유사하게 작동하며 SQL에서 사용되는 것과 유사한 메소드 이름을 갖습니다. 충분한 전문 지식을 가진 사람은 이러한 방법을 배우는 데 시간이 필요하지 않습니다. 말할 것도 없이 위에서 사용한 모든 방법을 보다 최적화된 방식으로 사용할 수 있습니다. 시간과 메모리를 절약하는 방식으로 이러한 방법을 사용해 볼 수 있습니다.

참조 :

이미지1: https://www.pexels.com/photo/photography-of-person-typing-1181675/

저자에 관하여

나와 함께 연결 링크드인.

제안이나 기사 요청이 있으면 저에게 이메일을 보내주십시오. 여기에서 지금 확인해 보세요..

내 다른 기사를 확인하십시오 여기에 및에 중급

LinkedIn에서 저에게 소중한 피드백을 제공할 수 있습니다.

시간 내주셔서 감사합니다!

이 기사에 표시된 미디어는 Analytics Vidhya의 소유가 아니며 작성자의 재량에 따라 사용됩니다.

PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.
액세스하려면 여기를 클릭하십시오.

출처: https://www.analyticsvidhya.com/blog/2021/09/essential-pyspark-dataframe-column-operations-that-data-engineers-should-know/

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?