python - 在列名python中的特定位置保留字符串

标签 python pandas string

我正在尝试在kaggle上预处理数据集:https://www.kaggle.com/sinaasappel/a-heat-map-divides-patients-into-3-groups 。然而,在表 1 中,列名称如下:

'C8-A131.01TCGA', 'AO-A12B.01TCGA', 'BH-A18Q.02TCGA', 'C8-A130.02TCGA',
   'C8-A138.03TCGA'...

我想将此表与另一个表中的行合并,如下所示:

TCGA-A2-A0T2    TCGA-A2-A0CM    TCGA-BH-A18V    TCGA-BH-A18Q    TCGA-BH-A0E0 ...

所以我想清理表1中的列名,将其更改为如下内容:

'A131', 'A12B', 'A18Q', 'A130', 'A138'

那么我怎样才能实现这个目标呢?提前致谢!

最佳答案

如果所有列的模式一致,您可以使用正则表达式提取 -. 之间的值。

df = pd.DataFrame(columns = ['C8-A131.01TCGA', 'AO-A12B.01TCGA', 'BH-A18Q.02TCGA', 'C8-A130.02TCGA','C8-A138.03TCGA'])

df.columns = df.columns.str.extract('.*-(.*)\..*')[0]

你得到了

A131    A12B    A18Q    A130    A138

关于python - 在列名python中的特定位置保留字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63431232/

相关文章:

algorithm - 获取字符串尾部数字的最快方法

python - 根据列中的值是整数(整数)的条件过滤数据框

javascript - 如何在 JavaScript 中多个子字符串中的一个第一次出现时拆分字符串?

r - 将具有相似名称 R 的级别组合在一起

python - 使用 MatPlotLib 绘制点周围误差范围的折线图

python - 遍历目录路径

python - pandas astype 无法识别固定长度字节串格式

java - 在 jython 中使用枚举

python - 在 MATLAB 中计算 Python 数值向量的平均值

python - 将 JSON 加载到 Pandas 数据框时保留列顺序