Pyspark 열을 키, 값 쌍 목록으로 결합 (UDF 없음)

알렉산더 비테

다른 열의 JSON 표현 인 새 열을 만들고 싶습니다. 목록의 키, 값 쌍.

출처:

유래 목적지 카운트
토론토 오타와 5
몬트리올 밴쿠버 10

내가 원하는 것 :

유래 목적지 카운트 json
토론토 오타와 5 [{ "origin": "toronto"}, { "destination", "ottawa"}, { "count": "5"}]
몬트리올 밴쿠버 10 [{ "origin": "montreal"}, { "destination", "vancouver"}, { "count": "10"}]

(모든 것이 문자열이 될 수 있지만 중요하지 않습니다).

나는 다음과 같은 것을 시도했다.

df.withColumn('json', to_json(struct(col('origin'), col('destination'), col('count'))))

그러나 key:value하나의 개체에 모든 쌍이 있는 열을 만듭니다 .

{"origin":"United States","destination":"Romania"}

UDF없이 가능합니까? 감사!

mck

이것을 해킹하는 방법 :

import pyspark.sql.functions as F

df2 = df.withColumn(
    'json', 
    F.array(
        F.to_json(F.struct('origin')),
        F.to_json(F.struct('destination')),
        F.to_json(F.struct('count'))
    ).cast('string')
)

df2.show(truncate=False)
+--------+-----------+-----+--------------------------------------------------------------------+
|origin  |destination|count|json                                                                |
+--------+-----------+-----+--------------------------------------------------------------------+
|toronto |ottawa     |5    |[{"origin":"toronto"}, {"destination":"ottawa"}, {"count":"5"}]     |
|montreal|vancouver  |10   |[{"origin":"montreal"}, {"destination":"vancouver"}, {"count":"10"}]|
+--------+-----------+-----+--------------------------------------------------------------------+

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중첩 된 사전을 키 : 값 쌍 목록으로 병합

분류에서Dev

PHP-키 / 값 쌍의 배열을 키 => 값으로 연결합니까?

분류에서Dev

pyspark는 문자열을 키 값 쌍으로 분할하고 특정 값을 추출합니다.

분류에서Dev

일치하는 키 : 값 쌍을 기반으로 사전 목록에서 사전 결합

분류에서Dev

Python : 튜플 목록을 JSON 값 키 쌍으로 변환

분류에서Dev

콜론으로 구분 된 값 목록을 키 = 값 쌍으로 변환

분류에서Dev

하나의 키-값 쌍 목록을 다른 목록으로 확장

분류에서Dev

사전 내의 키 값 쌍을 기반으로 사전 목록을 목록 길이의 목록으로 분할

분류에서Dev

TCL에서 2 개 목록을 키 값 쌍으로 병합하는 방법은 무엇입니까?

분류에서Dev

키 / 값 쌍을 배열로 푸시

분류에서Dev

키 / 값 쌍을 배열로 푸시

분류에서Dev

키 값 쌍을 열로 분산

분류에서Dev

사전 목록 열 필드에서 키 값 쌍을 기반으로 DataFrame 행을 어떻게 필터링합니까?

분류에서Dev

맵에서 키 = 값 쌍으로 문자열을 구문 분석합니까?

분류에서Dev

PYTHON : 속성 값 쌍 목록을 다중 키 사전으로 분할

분류에서Dev

다양한 키 값 쌍으로 배열 병합

분류에서Dev

병합 키, 키 값을 기반으로하는 값 목록

분류에서Dev

angularjs : 키 값 쌍으로 배열 반복

분류에서Dev

키 값 쌍으로 문자열 분할

분류에서Dev

내가 어떻게 인덱스가없는 키의 목록 (각의) 값 쌍을 조롱합니까?

분류에서Dev

'AngularJS'를 사용하여 키-값 쌍을 배열 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

여러 값 열을 새 키, 값 쌍으로 변환

분류에서Dev

키 / 값 쌍의 Pyspark RDD를 .csv 형식으로 구문 분석

분류에서Dev

PySpark에서 값의 유사성을 기반으로 키, 값 쌍을 줄입니다.

분류에서Dev

키 = 값 쌍을 JSON으로 변환

분류에서Dev

맵을 키 = 값 쌍으로 변환

분류에서Dev

중첩 된 사전 및 목록에서 값으로 Python3 검색 한 다음 가장 가까운 키 / 값 쌍을 가져옵니다.

분류에서Dev

키 값 쌍을 사용하는 문자열을 만들고 키로 값을 추출합니다.

분류에서Dev

사전 목록을 특정 키 / 값 쌍이있는 객체 목록 사전으로 반전

Related 관련 기사

  1. 1

    중첩 된 사전을 키 : 값 쌍 목록으로 병합

  2. 2

    PHP-키 / 값 쌍의 배열을 키 => 값으로 연결합니까?

  3. 3

    pyspark는 문자열을 키 값 쌍으로 분할하고 특정 값을 추출합니다.

  4. 4

    일치하는 키 : 값 쌍을 기반으로 사전 목록에서 사전 결합

  5. 5

    Python : 튜플 목록을 JSON 값 키 쌍으로 변환

  6. 6

    콜론으로 구분 된 값 목록을 키 = 값 쌍으로 변환

  7. 7

    하나의 키-값 쌍 목록을 다른 목록으로 확장

  8. 8

    사전 내의 키 값 쌍을 기반으로 사전 목록을 목록 길이의 목록으로 분할

  9. 9

    TCL에서 2 개 목록을 키 값 쌍으로 병합하는 방법은 무엇입니까?

  10. 10

    키 / 값 쌍을 배열로 푸시

  11. 11

    키 / 값 쌍을 배열로 푸시

  12. 12

    키 값 쌍을 열로 분산

  13. 13

    사전 목록 열 필드에서 키 값 쌍을 기반으로 DataFrame 행을 어떻게 필터링합니까?

  14. 14

    맵에서 키 = 값 쌍으로 문자열을 구문 분석합니까?

  15. 15

    PYTHON : 속성 값 쌍 목록을 다중 키 사전으로 분할

  16. 16

    다양한 키 값 쌍으로 배열 병합

  17. 17

    병합 키, 키 값을 기반으로하는 값 목록

  18. 18

    angularjs : 키 값 쌍으로 배열 반복

  19. 19

    키 값 쌍으로 문자열 분할

  20. 20

    내가 어떻게 인덱스가없는 키의 목록 (각의) 값 쌍을 조롱합니까?

  21. 21

    'AngularJS'를 사용하여 키-값 쌍을 배열 목록으로 변환하는 방법은 무엇입니까?

  22. 22

    여러 값 열을 새 키, 값 쌍으로 변환

  23. 23

    키 / 값 쌍의 Pyspark RDD를 .csv 형식으로 구문 분석

  24. 24

    PySpark에서 값의 유사성을 기반으로 키, 값 쌍을 줄입니다.

  25. 25

    키 = 값 쌍을 JSON으로 변환

  26. 26

    맵을 키 = 값 쌍으로 변환

  27. 27

    중첩 된 사전 및 목록에서 값으로 Python3 검색 한 다음 가장 가까운 키 / 값 쌍을 가져옵니다.

  28. 28

    키 값 쌍을 사용하는 문자열을 만들고 키로 값을 추출합니다.

  29. 29

    사전 목록을 특정 키 / 값 쌍이있는 객체 목록 사전으로 반전

뜨겁다태그

보관