numerical_cols = ["temperature","timestamp"]
ID temperature system_state timestamp
0 B 12 inactive 1632733508
1 B 13 active 1632733508
2 A 4 NULL 1632733511
3 A 11 NULL 1632733512
4 D 20 450 1632733513
5 D 22 431 1632733515
6 C 25 20 1632733518
7 C 19 30 1632733521
我有一個包含多列的資料框和一個包含部分 df 列名稱的串列。現在我想檢查該列是否存在于串列中。如果該列在串列中,則應將其強制轉換為雙精度型別。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
這是如何做到這一點的示例:
spark = SparkSession.builder.getOrCreate()
data = [{"a": "12.1", "b": "23.2", "c": "33.2"}]
columns = ["a", "c"]
df = spark.createDataFrame(data)
df = df.select(
[F.col(c).cast(DoubleType()) if c in columns else F.col(c) for c in df.columns]
)
結果:
root
|-- a: double (nullable = true)
|-- b: string (nullable = true)
|-- c: double (nullable = true)
---- ---- ----
|a |b |c |
---- ---- ----
|12.1|23.2|33.2|
---- ---- ----
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360841.html
