我有一個資料框:
df = spark.createDataFrame([
('red apple', 'ripe banana', 0.5),
('late autumn', 'heavy rain', 0.1),
('speak loudly','quiet place', 0.9),
('extremely dangerous','fast running', 0.89)
], ["phrase1", "phrase2", 'common_persent'])
df.show()
出去:
------------------- ------------ --------------
| phrase1| phrase2|common_persent|
------------------- ------------ --------------
| red apple| ripe banana| 0.5|
| late autumn| heavy rain| 0.1|
| speak loudly| quiet place| 0.9|
|extremely dangerous|fast running| 0.89|
------------------- ------------ --------------
我想給每個短語編號,例如紅蘋果 - 1.1,成熟的香蕉 -1.2。即第一行是第一列(1.1),第一行是第二列(1.2),接下來:深秋-2.1,大雨-2.2等。
理想情況下,它會變成這樣
------- ------- --------------
|phrase1|phrase2|common_persent|
------- ------- --------------
| 1.1| 1.2| 0.5|
| 2.1| 2.2| 0.1|
| 3.1| 3.2| 0.9|
| 4.1| 4.2| 0.89|
uj5u.com熱心網友回復:
請嘗試以下操作。
df = df.withColumn('rn', F.expr('row_number() over (order by null)'))\
.select(F.expr('rn 0.1').alias('phrase1'), F.expr('rn 0.2').alias('phrase2'), 'common_persent')
df.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360281.html
