前提・実現したいこと
Pythonのpandasを用いてテキストファイルを読み込み作成したデータフレームのカラムから、正規表現で[]が含まれるカラム要素(カラムの要素のうちどれか1つ、そしてその1つのみに[]が含まれることは判明している)の[]内の文字列のみを抽出し、それを第0列のカラム要素として再インデックス付与した上で他のカラム要素をNaNにしたいです。
詳細
コマンドラインで入力したテキストファイルをPythonのArgparse、pandasで読み込んで第0列のカラム要素をカラムのある要素に含まれる[]の中の文字列に置き換えて他のカラム要素を全てNaNにし、さらにある列の要素に[]を含む行全ての第0列の要素をその行の[]内の文字列のみに置き換えて他の列の要素をNaNとするテキスト編集プログラムを作ろうとしています。そこでインターネットで調べたのですが、データフレームの要素を正規表現で検索、抽出する方法は分かったのですが、カラムのある要素を正規表現で検索、抽出する方法が分からないので教えて欲しいです。
使用言語
Python
使用ライブラリ
pandas, NumPy, Argparse
コード(未完成)
Python
1import argparse 2import numpy as np 3import pandas as pd 4import re 5 6def main(): 7 parser = argparse.ArgumentParser(description="") 8 parser.add_argument("importfile", type=str, help="TSV file input") 9 args = parser.parse_args() 10 df = pd.read_table(args.importfile) 11 df_column_list=list(df.columns) 12 df_column_list_2=re.findall('(?<=[).*?(?=])',df_column_list) 13 df.columns=df_column_list_2 14 print(df) 15 16if __name__ == "__main__": 17 main()
結果
Python
1TypeError: expected string or bytes-like object
扱いたいデータの例
text
1>NEU2 neuraminidase 2[Homo sapiens] Gene ID: 4759, updated on 22-Aug-2020 NM_005383.2 2ATGGCGTCCCTTCCTGTCCTGCAGAAGGAGAGCGTGTTCCAGTCGGGAGCCCATGCCTACAGAATCCCTG 3CCCTGCTCTACCTGCCTGGGCAGCAGTCCCTGCTGGCCTTCGCGGAACAGCGGGCAAGCAAGAAGGATGA 4GCACGCAGAGCTGATTGTCCTGCGCAGAGGAGACTACGACGCACCCACCCACCAGGTTCAGTGGCAAGCT 5CAGGAGGTGGTGGCCCAGGCCCGGCTGGATGGCCACCGGTCCATGAACCCATGCCCCTTGTATGACGCGC 6AGACGGGGACCCTCTTCCTCTTCTTCATTGCCATCCCTGGGCAAGTCACGGAGCAACAGCAGCTGCAGAC 7CAGGGCCAATGTGACGCGGCTGTGCCAAGTCACCAGCACTGACCACGGGAGGACCTGGAGCTCCCCCAGA 8GACCTCACTGATGCGGCCATCGGCCCAGCCTACCGGGAGTGGTCCACCTTTGCAGTGGGCCCGGGGCATT 9GTTTGCAGCTTCACGACAGGGCCCGGAGCCTGGTGGTGCCCGCCTACGCCTACCGGAAACTTCACCCCAT 10CCAAAGGCCGATCCCCTCTGCCTTCTGCTTCCTCAGCCATGACCATGGGCGCACGTGGGCGCGAGGGCAC 11TTTGTGGCCCAGGACACCCTGGAGTGCCAGGTGGCCGAAGTCGAGACTGGGGAGCAGAGGGTGGTGACCC 12TCAACGCGAGAAGCCACCTCCGAGCCAGGGTCCAGGCCCAGAGCACCAATGACGGGCTTGATTTCCAGGA 13GTCTCAGCTGGTGAAGAAGCTGGTGGAGCCGCCGCCCCAGGGCTGCCAGGGGAGCGTCATCAGCTTCCCC 14AGCCCCCGCTCGGGGCCTGGCTCCCCAGCCCAGTGGCTGCTCTACACTCACCCCACACACTCCTGGCAGA 15GGGCCGACCTGGGTGCCTACCTCAACCCGCGACCTCCAGCCCCTGAGGCCTGGTCAGAGCCGGTACTGCT 16GGCCAAGGGCAGCTGTGCCTACTCAGACCTCCAGAGCATGGGCACCGGCCCTGATGGGTCCCCCTTGTTT 17GGGTGTCTGTACGAAGCCAATGATTACGAGGAGATTGTCTTTCTCATGTTCACCCTGAAGCAAGCCTTCC 18CAGCTGAGTACCTGCCTCAGTGA 19 20>Neu2 neuraminidase 2[Mus musculus] Gene ID: 23956, updated on 25-Aug-2020 NM_001160163.1 21GACATGACCCAAACGGCCCCTGGCTGCAAGGTAATATCGGAAGTTGACTAAGAATGGACGCCCCACCACT 22GACTGACCCGCCCCCTGAGTCTGAGATTGGACTTGTCTCTGGATACAGTCATACTTTGAGGTACTACAAG 23TTAGAAACTGTTAGGTTACTCAGTTCAGTCCATGACAGTCCAACCTTCTCCATGGTTTTCCGATCTCAGG 24CCCATGGCGACCTGCCCTGTCCTGCAGAAGGAGACACTGTTCCGCACAGGCGTCCATGCTTACAGAATCC 25CTGCTCTGCTCTACCTGAAGAAGCAGAAGACCCTGCTGGCCTTTGCGGAAAAGCGAGCCAGCAAGACGGA 26TGAGCACGCAGAGTTGATTGTCCTGAGAAGAGGAAGCTACAACGAAGCCACCAACCGTGTCAAGTGGCAG 27CCTGAGGAAGTGGTGACCCAAGCCCAGCTGGAAGGCCACCGCTCCATGAATCCATGTCCCTTGTATGACA 28AGCAAACAAAGACCCTCTTCCTTTTCTTCATCGCTGTCCCTGGGCGTGTATCAGAACATCATCAGCTCCA 29CACTAAGGTTAATGTCACACGGCTGTGCTGTGTCAGCAGCACTGACCATGGGAGGACCTGGAGCCCCATC 30CAGGACCTCACAGAGACCACCATTGGCAGCACTCATCAGGAATGGGCCACATTTGCTGTGGGTCCTGGGC 31ATTGTCTGCAGCTGCGGAACCCAGCTGGGAGCCTGCTGGTACCTGCTTATGCCTACCGGAAACTGCACCC 32TGCTCAGAAGCCTACCCCCTTTGCCTTCTGCTTCATCAGCCTTGACCATGGGCACACATGGAAACTAGGC 33AACTTTGTGGCTGAAAACTCACTGGAGTGCCAGGTGGCTGAGGTTGGCACTGGAGCTCAGAGGATGGTAT 34ATCTCAATGCTAGGAGCTTCCTGGGAGCCAGGGTCCAGGCACAAAGTCCTAATGATGGTCTGGATTTCCA 35GGACAACCGGGTAGTGAGTAAGCTTGTAGAGCCCCCCCACGGGTGTCATGGAAGTGTGGTTGCCTTCCAC 36AACCCCATCTCTAAGCCACATGCCTTAGACACATGGCTTCTTTATACACACCCTACAGACTCCAGGAATA 37GAACCAACCTGGGTGTGTACCTAAACCAGATGCCACTAGATCCCACAGCCTGGTCAGAGCCCACCCTGCT 38GGCCATGGGCATCTGTGCCTACTCAGACTTACAGAACATGGGGCAAGGCCCTGATGGCTCCCCACAGTTT 39GGGTGTCTGTATGAATCAGGTAACTATGAAGAGATCATTTTCCTCATATTCACCCTGAAGCAAGCTTTCC 40CCACTGTATTTGATGCCCAGTGATCTCAGTGCACGTGGCCCAAAGGGCTTCCTTGTGCTTCAAAACACCC 41ATCTCTCTTTGCTTCCAGCATCCTCTGGACTCTTGAGTCCAGCTCTTGGGTAACTTCCTCAGGAGGATGC 42AGAGAATTTGGTCTCTTGACTCTCTGCAGGCCTTATTGTTTCAGCCTCTGGTTCTCTTTTCAGCCCAGAA 43ATCAAAGGAGCCTGGCTTTCCTCAGCCTGTTGGCAGGGCAGGTGGGGACAGTATATATAGAGGCTGCCAT 44TCTGCATGTCGGTTGTCACTATGCTAGTTTAACCTGCCTGTTTCCCCATGCCTAGTGTTTGAATGAGTAT 45TAATAAAATATCCAACCCAGCCCATTTCTTCCTGGAAAAAAA 46 47>Neu2 neuraminidase 2[Rattus norvegicus] Gene ID: 29204, updated on 4-Jun-2020 XM_006245364.1 48CACACACCTTCCTAGAAGCCAGGCAAGAGGGGAGGTGCCACTGAGGTGCAGGTTGACATGACCAGAACAG 49TTCCTGGCTACAAGATCTCAGGCCCATGGAGACCTGCCCCGTCCTCCAGAAAGAGACGCTGTTCCACACA 50GAAGTCTATGCTTACAGAATCCCTGCTCTGCTCTACCTGAAGAAGCAGAAGACCCTGCTGGCCTTTGCAG 51AAAAGCGAGCCAGCAGGACGGATGAGCATGCTGAGTTGATTGTCCTGCGAAGAGGGAGCTACAATGGAGC 52CACCAACCATGTCAAGTGGCAACCTGAGGAAGTGGTGACCCAAGCCCAGCTGGAGGGCCACCGCTCCATG 53AATCCATGTCCCTTGTATGACAAGCAAACAAAGACCCTCTTCCTTTTCTTCATTGCTGTCCCTGGGCGTG 54TATCAGAACAGCATCAGCTCCAAACTAGGGTTAATGTCACACGGCTATGCCGTGTCACCAGCACCGATTA 55TGGGATGAACTGGAGCCCCGTCCAGGACCTCACAGAGACCACCATTGGCAGCACCCACCAGGACTGGGCC 56ACATTTGCTGTGGGTCCAGGGCACTGTCTGCAGCTGCGGAACAGAGCTGGGAGCCTGCTGGTACCTGCTT 57ATGCCTACCAGAAGCTGCACCCTGTCCATAAACCTACCCCCTTTGCCTTCTGCTTCATCAGCCTTGACCA 58CGGGCACACGTGGGAACTAGGGAACTTTGTGTCTGAGAACTCACTGGAGTGTCAGGTGGCTGAGGTTGGC 59ACTGGTGCTCATAGGGTGGTATATCTCAATGCTAGGAGCTTCATAGGAGCTAGAGTCCAGGCACAAAGTC 60CTAACGATGGCCTGGATTTCCAGGACAACCAGGTAGTAAGTAAGCTTGTAGAGCCCCCCCACGGGTGTCA 61TGGAAGTGTGGTCGCCTTCCACAGCCCCACCTCTAAGCCAGATGCCTTAGACATGTGGCTGCTTTATACC 62CACCCTACGGACTCCAGGAATAGAACCAACCTGGGCGTGTACCTCAACCAGACGCCACTAGATCCCACAG 63CCTGGTCAGAGCCCACCCTGCTAGCCACGGGCACCTGTGCCTACTCAGACTTGCAGAATATGGGGCGTGG 64CCCTGATGGGTCCCCACAGTTTGGGTGCCTGTATGAATCAGGTAACTATGACGAGATCATTTTCCTCATG 65TTCACCCTGAAGCAAGCTTTTCCCACAGTACATGGTGCTCAGTGACCTCATTGCATGTGGCTTCCAAAGG 66GCTTCCTGTGCTTCAGAACACCCGTCTCTCTTTCCTTCCAGCATCCTCTGGACTCTTGAATCCAGCTCTT 67GGGTCTGTTCCTTGGGAGTATACAGAGAGTTTGGTCTCTTGACTCTTAGCAAGTTTTGTTCTTTCAGCCT 68CCGAAAGTGGGTTCTATTTTCAGCCCAGAAATCAAAGGAGCCTGACTTTCCTCAGCCTGTATGTATAAAG 69GCTGCCACTCTGCATGTTGGCTGTCACTATGTTAGCTTAACCTGCCTGTTTCCCCATGCCTAGTTTTTGG 70ATGAATATTAATAAATTAATTATCCTACTCAGCCTA 71 72>Neu2 Neuroectoderm-expressed 2[Drosophila melanogaster] Gene ID: 40375, created on 31-Jul-2003 NM_001275231.1 73AGAAGGAGTACAACCCTTGTCATAGCAACATCTTTACAGATTGCCAATTCCTGTGCTTATTGCCACATTT 74TAAATACGCATTCGCCGTGAACAAACACGAAAATAAGATCGATGGAATCGTCAATATGCCGAGTTTGCCT 75GGTCAGTTACGAAAATATGGCCAGTGTTTTCGATGAGTCTCATGAACCGGGCCTATCCATTGCGTACATA 76ATATACAAGTGCACCGGCTGGCAAGTTGAGAAGCACGATCCACTGTCCAACACCATATGCAAGTCCTGTC 77TGGAGGATGCGCAGAATGCATTCGATATCATAGAAACGTACGAGAGAAGTCACCAGTTTTACCGCTTCCT 78CAAGGATGTACGGGAGGAGGAGAGTGAAAATGATGGATCCGGATGCTCAGAAGAAGTGGAGGCAGCTGAG 79AGGGATCTCCAGGATGGTGCCGACGACGTCGATTCCGGCAATGAACCTGATATTAACGAATGTGATATCA 80AGGCCAAGGAGAAACCAGGCTTTAGCTGTTCTCACTGCCCTAAATCTTTTCAAGTAAAATCAAATCTGAA 81GGTACACATGCGTTCACACACAGGAGAACGTCCCTTCACGTGTTCCCTCTGCCCCAAGTCCTTTGGCTAT 82AGCTCTGGTCTTCAGAATCACATGCGAACCCACACAGGAGAACGACCCTTCCAGTGCTCGCATTGCCCAA 83GGTCCTTTACAGCTGGGCACCACCTCAAGGCCCACATACAGATGCACGAAAGAAGAGGATCGTTAAGGTG 84CCCATACTGCCAAAAGTGCTTTCTAACTTCTTTAATTCTCAAGCAGCATTTGGCCACGCACACTGATGAA 85ACGCAGTTCAAGTGTTCCCAGTGCTCGAAGTCCTTTCAAGTCGAACATGAACTTTGGATGCACATGCGAG 86TGCACCAAGAACGCCTCTTTACTTGTGGCCATTGCTCAAAGGACTTTGCGCTACATGCGTATCTCAAGCG 87ACACCTGTCAAGGAACGCGAGATGCTCTCAAAGCTCAAAAGCATCTGCTCACAAAACACTAGGCCACTCA 88AAGGCACTTAAGTGTGTTTTGGTACGGGAATGACAACTTGTGAATTTTTGTTCTCAGTTTTGCTAATTGT 89AAATGG
最終的に得たい結果の例
字数制限の都合上ATCG列は途中省略しました。
text
1Homo_sapiens 2AT(省略)GA 3 4Mus_musculus 5GA(省略)AA 6 7Rattus_norvegicus 8CA(省略)TA 9 10Drosophila_melanogaster 11AG(省略)GG
回答1件
あなたの回答
tips
プレビュー