我正在尋找將列標題更改為小寫的解決方案。
比方說,我有這個資料框:
df = DataFrame(TIME = ["2021-10-21","2021-10-22","2021-10-23"],
MQ2= [-1.1, -2, 1],
MQ3=[-1, -1, 3.1],
MQ8= [-1, -4.2, 2],
)
>>>df
TIME MQ2 MQ3 MQ8
String Float64 Float64 Float64
1 2021-10-21 -1.1 -1.0 -1.0
2 2021-10-22 -2.0 -1.0 -4.2
3 2021-10-23 1.0 3.1 2.0
我想將所有列的標題(例如 MQ2 更改為mq2 )。可能類似于df.columns.str.lower()Python 中的東西。
因此,我可以實作這個資料框:
time mq2 mq3 mq8
String Float64 Float64 Float64
1 2021-10-21 -1.1 -1.0 -1.0
2 2021-10-22 -2.0 -1.0 -4.2
3 2021-10-23 1.0 3.1 2.0
uj5u.com熱心網友回復:
我可能會做以下事情:
julia> using DataFrames
julia> df = DataFrame(TIME = rand(5), MQ2 = rand(5), MQ3 = rand(5), MQ8 = rand(5));
julia> rename!(df, lowercase.(names(df)))
5×4 DataFrame
Row │ time mq2 mq3 mq8
│ Float64 Float64 Float64 Float64
─────┼───────────────────────────────────────────
1 │ 0.0796718 0.997022 0.0838867 0.63886
2 │ 0.923035 0.904928 0.993185 0.36081
3 │ 0.392671 0.0577061 0.518647 0.81432
4 │ 0.0377552 0.506528 0.190017 0.488105
5 │ 0.828534 0.731297 0.383561 0.604786
在這里,我DataFrames rename在其變異版本中使用該函式(因此在 bang 中rename!),并將新列名稱的向量作為第二個引數。新向量是通過使用 獲取當前名稱創建的names(df),然后lowercase在該向量中的每個元素上廣播該函式。
請注意,rename!如果您只想重命名特定列,也接受舊/新名稱對,例如rename!(df, "TIME" => "time")
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331195.html
上一篇:將字串分解為R中的多個虛擬變數
