class Header():
      def __init__(self, data=None, malware_col=None):
            malware_col = 'malware' if malware_col is None else malware_col
            self.training_headers = [
                'bytes.common_bytes1',
                'bytes.common_bytes2',
                'bytes.common_bytes3',
                'bytes.common_bytes4',
                'bytes.common_bytes5',
                'bytes.common_bytes6',
                'bytes.entropy',
                'bytes.longest_sequence.byte',
                'bytes.longest_sequence.length',
                'bytes.longest_sequence.offset',
                'bytes.max_entropy',
                'bytes.min_entropy',
                'bytes.null_bytes',
                'bytes.printable',
                'bytes.rarest_bytes1',
                'bytes.rarest_bytes2',
                'bytes.rarest_bytes3',
                'bytes.rarest_bytes4',
                'bytes.rarest_bytes5',
                'bytes.rarest_bytes6',
                'bytes.unique_bytes',
                'bytes.white_spaces',
                'elf.e_phentsize',
                'elf.e_phnum',
                'elf.e_phoff',
                'elf.e_shentsize',
                'elf.e_shnum',
                'elf.e_shoff',
                'elf.e_shstrndx',
                'elf.nsections',
                'elf.nsegments',
                'elf.stripped',
                'elf.stripped_sections',
                'funcover.findcrypt.total',
                'funcover.idapro.average_bytes_func',
                'funcover.idapro.avg_basic_blocks',
                'funcover.idapro.avg_cyclomatic_complexity',
                'funcover.idapro.avg_loc',
                'funcover.idapro.badstack',
                'funcover.idapro.branch_instr',
                'funcover.idapro.bytes_func',
                'funcover.idapro.call_instr',
                'funcover.idapro.func_loc',
                'funcover.idapro.indirect_branch_instr',
                'funcover.idapro.indirect_call_instr',
                'funcover.idapro.loc',
                'funcover.idapro.max_basic_blocks',
                'funcover.idapro.max_cyclomatic_complexity',
                'funcover.idapro.nfuncs',
                'funcover.idapro.overlapped_instr',
                'funcover.idapro.percent_load_covered',
                'funcover.idapro.percent_text_covered',
                'funcover.idapro.syscall_instr',
                'libide.lstrings.libc.matches',
                'unpacker.packed',
                malware_col]
            self.classification_col = self.training_headers.index(malware_col)
