【问题标题】:Renaming multiple columns with rename() Not working, despite inplace=True included使用 rename() 重命名多个列不起作用,尽管 inplace=True 包括在内
【发布时间】:2022-10-18 23:16:09
【问题描述】:

我在一个文件夹中有多个文件,需要从 ANN[ 重命名标题].GENE 到 Gene 和 ANN[].HGVS_P 为氨基酸。

**path = "/home/kristina/snpeff_analysis/a.a/Test_res2.G.P/"
all_files = glob.glob(path + "*.vcf")


for filename in all_files:
  aa_df = pd.read_csv(filename, sep='\t')
  new_header = {'ANN[*].GENE':'Gene',
            'ANN[*].HGVS_P': 'AminoAcids'}

aa_df.rename(columns=new_header, inplace=True)
aa_df.head()**

当我查看文件时,标题保持不变。在交互式窗口上运行它时,它会输出新的标题。

[在此处输入图片描述][1]

基因氨基酸 gyrA|Rv0007|ppiA|dnaN|recF|Rv0004|gyrB|Rv0008c p.Ser95Thr|.|.|.|.|.|.|. rplC|rplD|rplW|rplB|rpsS|rplV|rpsC|rplP|rpmC|r... p.Met1?|.|.|.|.|.|.|.|.|.|.|.|. |.|. irtA|mbtK|irtB|fabG2|Rv1351|Rv1352|mbtL|mbtM|m... p.Gly388Gly|.|.|.|.|.|.|.|.|.

【问题讨论】:

    标签: pandas for-loop rename


    【解决方案1】:

    您只是在 Python 会话中编辑文件 - 您还需要将文件写回系统。

    您可以通过在代码中添加以下内容来使用 pandas 实现此目的:

    for filename in all_files:
      aa_df = pd.read_csv(filename, sep='	')
      new_header = {'ANN[*].GENE':'Gene',
                'ANN[*].HGVS_P': 'AminoAcids'}
    
      aa_df.rename(columns=new_header, inplace=True)
      aa_df.head()
    
      # writing the files back
      aa_df.to_csv(filename)
    

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2021-04-09
      • 2020-05-01
      • 2020-09-05
      • 1970-01-01
      • 2018-06-19
      • 2023-03-10
      • 2019-10-02
      • 2011-12-09
      相关资源
      最近更新 更多