<p>我们还可以使用<strong><code>list comprehension</code></strong>和<strong><code>.select</code></strong>向数据帧添加新列</p>
<p><strong><code>Example:</code></strong></p>
<pre><code>#sample dataframe
df.show()
#+ -+ -+ -+ -+ +
#| _1| _2| _3| _4| _5|
#+ -+ -+ -+ -+ +
#| |12343| |9 | 0|
#+ -+ -+ -+ -+ +
mylist = ['ConformedLeaseRecoveryTypeId', 'ConformedLeaseStatusId', 'ConformedLeaseTypeId', 'ConformedLeaseRecoveryTypeName', 'ConformedLeaseStatusName', 'ConformedLeaseTypeName']
cols=[col(col_name) for col_name in df.columns] + [(lit(0)).name( col_name) for col_name in mylist]
#incase if you want to cast new fields then
cols=[col(col_name) for col_name in df.columns] + [(lit(0).cast("string")).name( col_name) for col_name in mylist]
#adding new columns and selecting existing columns
df.select(cols).show()
#+ -+ -+ -+ -+ + + + + + + +
#| _1| _2| _3| _4| _5|ConformedLeaseRecoveryTypeId|ConformedLeaseStatusId|ConformedLeaseTypeId|ConformedLeaseRecoveryTypeName|ConformedLeaseStatusName|ConformedLeaseTypeName|
#+ -+ -+ -+ -+ + + + + + + +
#| |12343| |9 | 0| 0| 0| 0| 0| 0| 0|
#+ -+ -+ -+ -+ + + + + + + +
</code></pre>