第一个
所需输出:
- 需要为列“firstname”添加额外的行“T”和行计数,如下所示。列“firstname”可以是任何类型。
+---+---------+--------+------+------+
| S|firstname|lastname|gender|salary|
+---+---------+--------+------+------+
| D| James| Smith| M| 3000|
| D| Anna| Rose| F| 4100|
| D| Robert|Williams| M| 6200|
| T| 3 | | | |
+---+---------+--------+------+------+
尝试创建一个带有尾部值的新 Dataframe ,并按照大多数stacoverflow解决方案的建议应用联合-但两个 Dataframe 的列数应该相同。是否有更好的方法使尾部中的计数与“firstname”列的列类型无关?
1条答案
按热度按时间rkue9o1l1#
由于您希望创建一个新行而不考虑列类型,因此可以编写一个函数,该函数将列名作为输入,并返回一个字典,其中包含新行的所有必要信息,包括该列中的项数。
要创建如图所示的输出pyspark Dataframe ,每一列都必须是字符串类型,因为新行中的
lastname, gender, salary
列必须包含空字符串''
。(请参阅here),因此当您在df2
和total_row_df
之间建立并集时,total_row_df中字串类型的任何数据行都会在产生的数据框中胁迫转换为字串类型。结果: