해당 포스팅은 데이터 프레임에서 특정 컬럼만 필터링하는 방법을 소개한다.
활용 데이터
사전 작업
from pyspark.sql.types import StringType, IntegerType, FloatType
from pyspark.sql.types import StructType, StructField
schema = StructType([ \
StructField("stationID", StringType(), True), \
StructField("date", IntegerType(), True), \
StructField("measure_type", StringType(), True), \
StructField("temperature", FloatType(), True)])
df = spark.read.schema(schema).csv("1800.csv")
minTemps = df.filter(df.measure_type == "TMIN")
1. pandas와 같이 리스트 형식으로 컬럼을 필터링한다.
# Select only stationID and temperature
stationTemps = minTemps[["stationID", "temperature"]]
2. select 메소드를 활용한다.
2-1) 컬럼이름을 직접 입력해서 컬럼을 select한다.
stationTemps = minTemps.select("stationID", "temperature")
2-2) col, column 메소드를 활용하여 컬럼을 select한다.
- col이나 column이나 같음
- 요즘 잘 쓰지 않는 방식임 (2-1방법이 더 간편하기 때문)
from pyspark.sql.functions import col,column
stationTemps = minTemps.select(col("stationID"), column("temperature"))
2-3) 데이터프레임이름.컬럼이름 으로 지칭한다.
stationTemps = minTemps.select(minTemps.stationID)
728x90
반응형
'Spark & Hadoop > Pyspark & SparkSQL' 카테고리의 다른 글
[Pyspark] 특정 기준으로 text 분리(Split/trim), 리스트 형태의 값을 전개(explode), 데이터 정렬 (sort, orderBy) (1) | 2023.10.02 |
---|---|
[Pyspark] 정규표현식으로 텍스트 파싱 후 데이터프레임 변환 (regexp_extract) (0) | 2023.10.02 |
[Pyspark] 데이터 프레임 집계 방법 (groupBy) (집계 컬럼 이름 지정) (0) | 2023.10.02 |
[Pyspark/SparkSQL] Header가 없는 csv파일 처리 (데이터프레임 컬럼이름 및 컬럼 타입 지정 방법) (0) | 2023.10.02 |
[Pyspark] pyspark설치 및 데이터 읽어오기, RDD&Python객체&DataFrame 변환 (0) | 2023.09.30 |