[TIL]Day 133

애플 주식 데이터를 가지고 간단한 데이터 분석해보기(PySpark)

Spark Session 만들기

from pyspark.sql import SparkSession

spark = SparkSession \
	.builder \
        .appName("Python Spark Dataframe basic example") \
        .getOrCreate()

애플주식 csv파일을 로딩하고 spark 데이터 프레임으로 변경하기

import pandas as pd

apple_pandas_df = pd.read_csv("https://pyspark-test-sj.s3-us-west-2.amazonaws.com/appl_stock.csv")
apple_spark_df = spark.createDataFrame(apple_pandas_df)

어떤 컬럼 이름들이 있는가?

apple_spark_df.columns

스키마를 프린트해보기

apple_spark_df.printSchema()

처음 5개 레코드를 출력해보기

apple_spark_df.show(n=5)

describe를 사용하여 데이터프레임의 컬럼별 통계보기

apple_spark_df.describe().show()

close 컬럼의 평균값은 얼마인가

from pyspark.sql.functions import mean
apple_spark_df.select(mean("Close")).show()

volume 컬럼의 최대값과 최소값은?

from pyspark.sql.functions import min,max
apple_spark_df.select(max("Volume"),min("Volume")).show()

HV ratio라는 이름의 새로운 컬럼을 추가한 데이터프레임 만들기. 이 컬럼의 값은 High/Volume으로 계산된다.

apple_spark_df_with_hv = apple_spark_df.withColumn("hv ratio", apple_spark_df.High/apple_spark_df.Volume)
apple_spark_df_with_hv.show(5)

월별 close 컬럼의 평균값은?

from pyspark.sql.functions import month
monthdf = apple_spark_df.withColume("Month",month("Date"))
monthavgdf = monthdf.select(["Month","Close"]).groupBy("Month").mean()
monthavgdf.show()
monthavgdf.select(["Month","avg(Close)"]).orderBy("Month").show()

좋은 웹페이지 즐겨찾기