You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia DataFrames:如何高效批量转换字符串列的列名与数据为大写?

问题描述

现有如下DataFrame:

5×4 DataFrame
 Row │ Col_1      Col_2     Col_a   Col_z  
     │ Float64    Float64   String  String 
─────┼─────────────────────────────────────
   1 │ 0.201256   0.418266  aabbcc  xxyyzz
   2 │ 0.804066   0.136453  aabbcc  xxyyzz
   3 │ 0.442338   0.305655  aabbcc  xxyyzz
   4 │ 0.0676846  0.113499  aabbcc  xxyyzz
   5 │ 0.380939   0.773559  aabbcc  xxyyzz

需求:仅针对其中的String类型列,同时将列名和列内数据转换为大写,得到如下结果:

5×4 DataFrame
 Row │ Col_1      Col_2     COL_A   COL_Z  
     │ Float64    Float64   String  String 
─────┼─────────────────────────────────────
   1 │ 0.201256   0.418266  AABBCC  XXYYZZ
   2 │ 0.804066   0.136453  AABBCC  XXYYZZ
   3 │ 0.442338   0.305655  AABBCC  XXYYZZ
   4 │ 0.0676846  0.113499  AABBCC  XXYYZZ
   5 │ 0.380939   0.773559  AABBCC  XXYYZZ
解决方案

一行代码即可高效完成需求:

transform!(df, names(df, String) .=> ByRow(uppercase) .=> uppercase.(names(df, String)))

代码解释

  • names(df, String):筛选出DataFrame中所有类型为String的列名
  • .=> ByRow(uppercase):对每个选中的列,逐行应用uppercase函数将字符串转为大写
  • .=> uppercase.(names(df, String)):将原String类型列的列名转为大写,作为修改后的列名
  • transform!:直接在原DataFrame上修改(若不想修改原数据,改用transform会返回新的DataFrame)

内容的提问来源于stack exchange,提问作者jn_br

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:09:48