Tôi muốn thay đổi tên của hai cột sử dụng chức năng spark withColumnRenamed. Tất nhiên, tôi có thể viết:PySpark - đổi tên nhiều hơn một cột bằng withColumnRenamed
data = sqlContext.createDataFrame([(1,2), (3,4)], ['x1', 'x2'])
data = (data
.withColumnRenamed('x1','x3')
.withColumnRenamed('x2', 'x4'))
nhưng tôi muốn làm điều này trong một bước (có danh sách/tuple tên mới). Thật không may, không là cái này:
data = data.withColumnRenamed(['x1', 'x2'], ['x3', 'x4'])
hay này:
data = data.withColumnRenamed(('x1', 'x2'), ('x3', 'x4'))
đang làm việc. Có thể làm điều này theo cách đó không?
Tôi nhận được "str không phải là lỗi có thể gọi": data.select ([col (c) .alias (mapping.get (c, c)) cho c trong data.columns]) TypeError: 'str' object không gọi được –