如何访问并修改Pandas DataFrame中列名以.L结尾的列的数值
实现方法
该需求可以直接在原DataFrame上完成,不需要将数据提取后再插入,两种常用实现方式如下:
方式1:遍历列名逐个修改
# 筛选所有以.L结尾的列名,注意你之前写的列表推导式中of是笔误,要改为if l_suffix_cols = [col for col in df.columns if col.endswith(".L")] for col in l_suffix_cols: # 直接对原DataFrame的列赋值即可原地修改数值,替换为你自己的转换逻辑 df[col] = 你的转换逻辑(df[col])
方式2:向量化批量修改(无需循环)
如果你的转换逻辑支持pandas向量化运算,可以一次性修改所有目标列,效率更高:
l_suffix_cols = [col for col in df.columns if col.endswith(".L")] # 直接对列切片赋值,原地修改所有符合要求的列 df[l_suffix_cols] = 你的转换逻辑(df[l_suffix_cols])
补充说明
- 上述两种写法都是直接修改原DataFrame的数据,不需要额外做数据插入操作
- 如果需要保留原始数据,可在修改前执行
df_backup = df.copy()备份数据
内容的提问来源于stack exchange,提问作者Oris
相关产品推荐
相关产品推荐

