반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 웹개발
- 코딩
- 머신러닝
- Yes
- 네트워크보안
- 컴퓨터비전
- 자료구조
- 빅데이터
- 소프트웨어
- 2
- 자바스크립트
- 소프트웨어공학
- 데이터분석
- I'm Sorry
- 클라우드컴퓨팅
- 네트워크
- 버전관리
- 사이버보안
- 인공지능
- 보안
- 컴퓨터공학
- 파이썬
- 딥러닝
- 프로그래밍
- 데이터구조
- 컴퓨터과학
- 데이터베이스
- 알고리즘
- 프로그래밍언어
- 데이터과학
Archives
- Today
- Total
스택큐힙리스트
PySpark에서 데이터프레임 열을 문자열 타입에서 실수 타입으로 변경하는 방법은 무엇인가요? 본문
반응형
나는 문자열로 된 열이 있는 데이터프레임이 있습니다.
PySpark에서 열 유형을 Double 유형으로 변경하고 싶습니다.
다음은 내가 한 방법입니다:
toDoublefunc = UserDefinedFunction(lambda x: x,DoubleType())
changedTypedf = joindf.withColumn(label,toDoublefunc(joindf['show']))
그냥 알고 싶은 건, 이게 올바른 방법인가요?
로지스틱 회귀를 실행하면 오류가 발생해서 궁금합니다.
이게 문제가 될 수 있을까요?
답변 1
from pyspark.sql import types
for t in ['BinaryType', 'BooleanType', 'ByteType', 'DateType',
'DecimalType', 'DoubleType', 'FloatType', 'IntegerType',
'LongType', 'ShortType', 'StringType', 'TimestampType']:
print(f{t}: {getattr(types, t)().simpleString()})
BinaryType: 이진
BooleanType: 부울
ByteType: 바이트
DateType: 날짜
DecimalType: 십진수(10,0)
DoubleType: 더블
FloatType: 실수
IntegerType: 정수
LongType: 롱
ShortType: 숏
StringType: 문자열
TimestampType: 타임스탬프
그리고 예시로 복합 유형
types.ArrayType(types.IntegerType()).simpleString()
'array<int>'
types.MapType(types.StringType(), types.IntegerType()).simpleString()
'map<string,int>'
'맵<문자열,정수>'
답변 2
데이터 분석 작업을 수행할 때 종종 데이터프레임의 열 형식을 조정해야 할 때가 있습니다. 예를 들어, PySpark에서 문자열 형식으로 저장된 열을 실수 형식으로 변경해야 하는 경우가 있습니다. 이를 위해 몇 가지 간단한 단계를 따라야 합니다.1. PySpark를 import 합니다:
```python
from pyspark.sql import SparkSession
```
2. SparkSession을 생성합니다:
```python
spark = SparkSession.builder.getOrCreate()
```
3. 데이터프레임을 생성하거나 읽어옵니다. 이 예시에서는 CSV 파일로부터 데이터프레임을 읽는 것으로 가정합니다:
```python
df = spark.read.csv('data.csv', header=True, inferSchema=True)
```
4. 데이터프레임의 열을 문자열에서 실수로 변환합니다. PySpark에서는 `cast()` 메소드를 사용하여 열의 데이터 형식을 변경할 수 있습니다. `withColumn()` 메소드를 사용하여 열을 선택하고 `cast()` 메소드를 사용하여 변환한 후, 다시 데이터프레임을 업데이트합니다:
```python
df = df.withColumn('columnName', df['columnName'].cast('double'))
```
위의 코드에서 'columnName'은 원하는 열의 이름으로 변경해야 합니다.
5. 변경된 데이터프레임을 출력하거나 다른 작업에 활용할 수 있습니다:
```python
df.show()
```
변경된 열을 확인하려면 `show()` 메소드를 사용하면 됩니다.
이제 데이터프레임의 열 형식을 문자열에서 실수로 변경하는 방법을 알게 되었습니다. 이러한 유용한 기술은 데이터 분석 작업을 수행하는 동안 실수 값들을 다루는 데 큰 도움이 될 것입니다.
반응형
Comments