Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

Cálculo da Média Harmônica em Python com Processamento de Dados CSV

Cálculo da Média Harmônica em Python com Processamento de Dados CSV

Publicado por em


@CanalQb no YouTube


@CanalQb

Cálculo da Média Harmônica em Python com Processamento de Dados CSV


Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.



Cálculo da Média Harmônica em Python com Processamento de Dados CSV

Este tutorial apresenta um exemplo prático em Python para calcular a média harmônica de valores numéricos, tratando possíveis erros, e aplicando o cálculo a dados armazenados em listas com valores hexadecimais. Além disso, o script demonstra como salvar os resultados em um arquivo CSV, formatando os dados para fácil análise.

O que é Média Harmônica?

A média harmônica é uma média especial adequada para conjuntos de números que são taxas ou razões, sendo calculada como o inverso da média dos inversos dos valores. É muito utilizada em áreas como estatística, física, finanças e ciência de dados para obter uma média ponderada adequada para certos tipos de dados.

Descrição do Script em Python

O código a seguir:

  • Define uma função para calcular a média harmônica, com tratamento de erro para evitar divisões por zero.
  • Processa uma lista de dados com valores em hexadecimal, convertendo-os para inteiros.
  • Calcula médias harmônicas para diferentes conjuntos de valores derivados dos dados originais.
  • Escreve os resultados detalhados em um arquivo CSV para posterior análise.

Exemplo Completo do Código Python

import csv

def media_harmonica(*valores):
    try:
        # Ignorar valores zero para evitar divisão por zero
        soma_reciprocos = sum(1.0 / v for v in valores if v != 0)
        
        # Caso todos os valores sejam zero
        if soma_reciprocos == 0:
            return 0
        
        # Retorna a média harmônica calculada
        return len(valores) / soma_reciprocos
    except ZeroDivisionError:
        return 0

# Dados simulados: substitua os "..." por linhas completas conforme necessário
data = [ 
    ['1', '1', '1', '0000000000000000000000000000000000000000000000000000000000000001'],
    ['2', '2', '3', '0000000000000000000000000000000000000000000000000000000000000003'],
    ['3', '4', '7', '0000000000000000000000000000000000000000000000000000000000000007'],
    ['4', '8', 'f', '0000000000000000000000000000000000000000000000000000000000000008'],
	['5', '10', '1f', '0000000000000000000000000000000000000000000000000000000000000015'],
	['6', '20', '3f', '0000000000000000000000000000000000000000000000000000000000000031'],
	['7', '40', '7f', '000000000000000000000000000000000000000000000000000000000000004c'],
	['8', '80', 'ff', '00000000000000000000000000000000000000000000000000000000000000e0'],
	['9', '100', '1ff', '00000000000000000000000000000000000000000000000000000000000001d3'],
	['10', '200', '3ff', '0000000000000000000000000000000000000000000000000000000000000202'],
	['11', '400', '7ff', '0000000000000000000000000000000000000000000000000000000000000483'],
	['12', '800', 'fff', '0000000000000000000000000000000000000000000000000000000000000a7b'],
	['13', '1000', '1fff', '0000000000000000000000000000000000000000000000000000000000001460'],
	['14', '2000', '3fff', '0000000000000000000000000000000000000000000000000000000000002930'],
	['15', '4000', '7fff', '00000000000000000000000000000000000000000000000000000000000068f3'],
	['16', '8000', 'ffff', '000000000000000000000000000000000000000000000000000000000000c936'],
	['17', '10000', '1ffff', '000000000000000000000000000000000000000000000000000000000001764f'],
	['18', '20000', '3ffff', '000000000000000000000000000000000000000000000000000000000003080d'],
	['19', '40000', '7ffff', '000000000000000000000000000000000000000000000000000000000005749f'],
	['20', '80000', 'fffff', '00000000000000000000000000000000000000000000000000000000000d2c55'],
	['21', '100000', '1fffff', '00000000000000000000000000000000000000000000000000000000001ba534'],
	['22', '200000', '3fffff', '00000000000000000000000000000000000000000000000000000000002de40f'],
	['23', '400000', '7fffff', '0000000000000000000000000000000000000000000000000000000000556e52'],
	['24', '800000', 'ffffff', '0000000000000000000000000000000000000000000000000000000000dc2a04'],
	['25', '1000000', '1ffffff', '0000000000000000000000000000000000000000000000000000000001fa5ee5'],
	['26', '2000000', '3ffffff', '000000000000000000000000000000000000000000000000000000000340326e'],
	['27', '4000000', '7ffffff', '0000000000000000000000000000000000000000000000000000000006ac3875'],
	['28', '8000000', 'fffffff', '000000000000000000000000000000000000000000000000000000000d916ce8'],
	['29', '10000000', '1fffffff', '0000000000000000000000000000000000000000000000000000000017e2551e'],
	['30', '20000000', '3fffffff', '000000000000000000000000000000000000000000000000000000003d94cd64'],
	['31', '40000000', '7fffffff', '000000000000000000000000000000000000000000000000000000007d4fe747'],
	['32', '80000000', 'ffffffff', '00000000000000000000000000000000000000000000000000000000b862a62e'],
	['33', '100000000', '1ffffffff', '00000000000000000000000000000000000000000000000000000001a96ca8d8'],
	['34', '200000000', '3ffffffff', '000000000000000000000000000000000000000000000000000000034a65911d'],
	['35', '400000000', '7ffffffff', '00000000000000000000000000000000000000000000000000000004aed21170'],
	['36', '800000000', 'fffffffff', '00000000000000000000000000000000000000000000000000000009de820a7c'],
	['37', '1000000000', '1fffffffff', '0000000000000000000000000000000000000000000000000000001757756a93'],
	['38', '2000000000', '3fffffffff', '00000000000000000000000000000000000000000000000000000022382facd0'],
	['39', '4000000000', '7fffffffff', '0000000000000000000000000000000000000000000000000000004b5f8303e9'],
	['40', '8000000000', 'ffffffffff', '000000000000000000000000000000000000000000000000000000e9ae4933d6'],
	['41', '10000000000', '1ffffffffff', '00000000000000000000000000000000000000000000000000000153869acc5b'],
	['42', '20000000000', '3ffffffffff', '000000000000000000000000000000000000000000000000000002a221c58d8f'],
	['43', '40000000000', '7ffffffffff', '000000000000000000000000000000000000000000000000000006bd3b27c591'],
	['44', '80000000000', 'fffffffffff', '00000000000000000000000000000000000000000000000000000e02b35a358f'],
	['45', '100000000000', '1fffffffffff', '0000000000000000000000000000000000000000000000000000122fca143c05'],
	['46', '200000000000', '3fffffffffff', '00000000000000000000000000000000000000000000000000002ec18388d544'],
	['47', '400000000000', '7fffffffffff', '00000000000000000000000000000000000000000000000000006cd610b53cba'],
	['48', '800000000000', 'ffffffffffff', '0000000000000000000000000000000000000000000000000000ade6d7ce3b9b'],
	['49', '1000000000000', '1ffffffffffff', '000000000000000000000000000000000000000000000000000174176b015f4d'],
	['50', '2000000000000', '3ffffffffffff', '00000000000000000000000000000000000000000000000000022bd43c2e9354'],
	['51', '4000000000000', '7ffffffffffff', '00000000000000000000000000000000000000000000000000075070a1a009d4'],
	['52', '8000000000000', 'fffffffffffff', '000000000000000000000000000000000000000000000000000efae164cb9e3c'],
	['53', '10000000000000', '1fffffffffffff', '00000000000000000000000000000000000000000000000000180788e47e326c'],
	['54', '20000000000000', '3fffffffffffff', '00000000000000000000000000000000000000000000000000236fb6d5ad1f43'],
	['55', '40000000000000', '7fffffffffffff', '000000000000000000000000000000000000000000000000006abe1f9b67e114'],
	['56', '80000000000000', 'ffffffffffffff', '000000000000000000000000000000000000000000000000009d18b63ac4ffdf'],
	['57', '100000000000000', '1ffffffffffffff', '00000000000000000000000000000000000000000000000001eb25c90795d61c'],
	['58', '200000000000000', '3ffffffffffffff', '00000000000000000000000000000000000000000000000002c675b852189a21'],
	['59', '400000000000000', '7ffffffffffffff', '00000000000000000000000000000000000000000000000007496cbb87cab44f'],
	['60', '800000000000000', 'fffffffffffffff', '0000000000000000000000000000000000000000000000000fc07a1825367bbe'],
	['61', '1000000000000000', '1fffffffffffffff', '00000000000000000000000000000000000000000000000013c96a3742f64906'],
	['62', '2000000000000000', '3fffffffffffffff', '000000000000000000000000000000000000000000000000363d541eb611abee'],
	['63', '4000000000000000', '7fffffffffffffff', '0000000000000000000000000000000000000000000000007cce5efdaccf6808'],
	['64', '8000000000000000', 'ffffffffffffffff', '000000000000000000000000000000000000000000000000f7051f27b09112d4'],
	['65', '10000000000000000', '1ffffffffffffffff', '000000000000000000000000000000000000000000000001a838b13505b26867'],
	['66', '20000000000000000', '3ffffffffffffffff', '000000000000000000000000000000000000000000000002832ed74f2b5e35ee'],
	['67', '40000000000000000', '7ffffffffffffffff', '00000000000000000000000000000000000000000000000730fc235c1942c1ae'],
	['68', '80000000000000000', 'fffffffffffffffff', '00000000000000000000000000000000000000000000000bebb3940cd0fc1491'],
	['69', '100000000000000000', '1fffffffffffffffff', '0'],
	['70', '200000000000000000', '3fffffffffffffffff', '0000000000000000000000000000000000000000000000349b84b6431a6c4ef1'],
	['71', '400000000000000000', '7fffffffffffffffff', '0'],
	['72', '800000000000000000', 'ffffffffffffffffff', '0'],
	['73', '1000000000000000000', '1ffffffffffffffffff', '0'],
	['74', '2000000000000000000', '3ffffffffffffffffff', '0'],
	['75', '4000000000000000000', '7ffffffffffffffffff', '0000000000000000000000000000000000000000000004c5ce114686a1336e07'],
	['76', '8000000000000000000', 'fffffffffffffffffff', '0'],
	['77', '10000000000000000000', '1fffffffffffffffffff', '0'],
	['78', '20000000000000000000', '3fffffffffffffffffff', '0'],
	['79', '40000000000000000000', '7fffffffffffffffffff', '0'],
	['80', '80000000000000000000', 'ffffffffffffffffffff', '00000000000000000000000000000000000000000000ea1a5c66dcc11b5ad180'],
	['81', '100000000000000000000', '1ffffffffffffffffffff', '0'],
	['82', '200000000000000000000', '3ffffffffffffffffffff', '0'],
	['83', '400000000000000000000', '7ffffffffffffffffffff', '0'],
	['84', '800000000000000000000', 'fffffffffffffffffffff', '0'],
	['85', '1000000000000000000000', '1fffffffffffffffffffff', '00000000000000000000000000000000000000000011720c4f018d51b8cebba8'],
	['86', '2000000000000000000000', '3fffffffffffffffffffff', '0'],
	['87', '4000000000000000000000', '7fffffffffffffffffffff', '0'],
	['88', '8000000000000000000000', 'ffffffffffffffffffffff', '0'],
	['89', '10000000000000000000000', '1ffffffffffffffffffffff', '0'],
	['90', '20000000000000000000000', '3ffffffffffffffffffffff', '000000000000000000000000000000000000000002ce00bb2136a445c71e85bf'],
	['91', '40000000000000000000000', '7ffffffffffffffffffffff', '0'],
	['92', '80000000000000000000000', 'fffffffffffffffffffffff', '0'],
	['93', '100000000000000000000000', '1fffffffffffffffffffffff', '0'],
	['94', '200000000000000000000000', '3fffffffffffffffffffffff', '0'],
	['95', '400000000000000000000000', '7fffffffffffffffffffffff', '0000000000000000000000000000000000000000527a792b183c7f64a0e8b1f4'],
	['96', '800000000000000000000000', 'ffffffffffffffffffffffff', '0'],
	['97', '1000000000000000000000000', '1ffffffffffffffffffffffff', '0'],
	['98', '2000000000000000000000000', '3ffffffffffffffffffffffff', '0'],
	['99', '4000000000000000000000000', '7ffffffffffffffffffffffff', '0'],
	['100', '8000000000000000000000000', 'fffffffffffffffffffffffff', '000000000000000000000000000000000000000af55fc59c335c8ec67ed24826'],
	['101', '10000000000000000000000000', '1fffffffffffffffffffffffff', '0'],
	['102', '20000000000000000000000000', '3fffffffffffffffffffffffff', '0'],
	['103', '40000000000000000000000000', '7fffffffffffffffffffffffff', '0'],
	['104', '80000000000000000000000000', 'ffffffffffffffffffffffffff', '0'],
	['105', '100000000000000000000000000', '1ffffffffffffffffffffffffff', '000000000000000000000000000000000000016f14fc2054cd87ee6396b33df3'],
	['106', '200000000000000000000000000', '3ffffffffffffffffffffffffff', '0'],
	['107', '400000000000000000000000000', '7ffffffffffffffffffffffffff', '0'],
	['108', '800000000000000000000000000', 'fffffffffffffffffffffffffff', '0'],
	['109', '1000000000000000000000000000', '1fffffffffffffffffffffffffff', '0'],
	['110', '2000000000000000000000000000', '3fffffffffffffffffffffffffff', '00000000000000000000000000000000000035c0d7234df7deb0f20cf7062444'],
	['111', '4000000000000000000000000000', '7fffffffffffffffffffffffffff', '0'],
	['112', '8000000000000000000000000000', 'ffffffffffffffffffffffffffff', '0'],
	['113', '10000000000000000000000000000', '1ffffffffffffffffffffffffffff', '0'],
	['114', '20000000000000000000000000000', '3ffffffffffffffffffffffffffff', '0'],
	['115', '40000000000000000000000000000', '7ffffffffffffffffffffffffffff', '0000000000000000000000000000000000060f4d11574f5deee49961d9609ac6'],
	['116', '80000000000000000000000000000', 'fffffffffffffffffffffffffffff', '0'],
	['117', '100000000000000000000000000000', '1fffffffffffffffffffffffffffff', '0'],
	['118', '200000000000000000000000000000', '3fffffffffffffffffffffffffffff', '0'],
	['119', '400000000000000000000000000000', '7fffffffffffffffffffffffffffff', '0'],
	['120', '800000000000000000000000000000', 'ffffffffffffffffffffffffffffff', '0000000000000000000000000000000000b10f22572c497a836ea187f2e1fc23'],
	['121', '1000000000000000000000000000000', '1ffffffffffffffffffffffffffffff', '0'],
	['122', '2000000000000000000000000000000', '3ffffffffffffffffffffffffffffff', '0'],
	['123', '4000000000000000000000000000000', '7ffffffffffffffffffffffffffffff', '0'],
	['124', '8000000000000000000000000000000', 'fffffffffffffffffffffffffffffff', '0'],
	['125', '10000000000000000000000000000000', '1fffffffffffffffffffffffffffffff', '000000000000000000000000000000001c533b6bb7f0804e09960225e44877ac'],
	['126', '20000000000000000000000000000000', '3fffffffffffffffffffffffffffffff', '0'],
	['127', '40000000000000000000000000000000', '7fffffffffffffffffffffffffffffff', '0'],
	['128', '80000000000000000000000000000000', 'ffffffffffffffffffffffffffffffff', '0'],
	['129', '100000000000000000000000000000000', '1ffffffffffffffffffffffffffffffff', '0'],
	['130', '200000000000000000000000000000000', '3ffffffffffffffffffffffffffffffff', '000000000000000000000000000000033e7665705359f04f28b88cf897c603c9'],
	['131', '400000000000000000000000000000000', '7ffffffffffffffffffffffffffffffff', '0'],
	['132', '800000000000000000000000000000000', 'fffffffffffffffffffffffffffffffff', '0'],
	['133', '1000000000000000000000000000000000', '1fffffffffffffffffffffffffffffffff', '0'],
	['134', '2000000000000000000000000000000000', '3fffffffffffffffffffffffffffffffff', '0'],
	['135', '4000000000000000000000000000000000', '7fffffffffffffffffffffffffffffffff', ' 02145d2611c823a396ef6712ce0f712f09b9b4f3135e3e0aa3230fb9b6d08d1e16'],
	['136', '8000000000000000000000000000000000', 'ffffffffffffffffffffffffffffffffff', '0'],
	['137', '10000000000000000000000000000000000', '1ffffffffffffffffffffffffffffffffff', '0'],
	['138', '20000000000000000000000000000000000', '3ffffffffffffffffffffffffffffffffff', '0'],
	['139', '40000000000000000000000000000000000', '7ffffffffffffffffffffffffffffffffff', '0'],
	['140', '80000000000000000000000000000000000', 'fffffffffffffffffffffffffffffffffff', ' 031f6a332d3c5c4f2de2378c012f429cd109ba07d69690c6c701b6bb87860d6640'],
	['141', '100000000000000000000000000000000000', '1fffffffffffffffffffffffffffffffffff', '0'],
	['142', '200000000000000000000000000000000000', '3fffffffffffffffffffffffffffffffffff', '0'],
	['143', '400000000000000000000000000000000000', '7fffffffffffffffffffffffffffffffffff', '0'],
	['144', '800000000000000000000000000000000000', 'ffffffffffffffffffffffffffffffffffff', '0'],
	['145', '1000000000000000000000000000000000000', '1ffffffffffffffffffffffffffffffffffff', ' 03afdda497369e219a2c1c369954a930e4d3740968e5e4352475bcffce3140dae5'],
	['146', '2000000000000000000000000000000000000', '3ffffffffffffffffffffffffffffffffffff', '0'],
	['147', '4000000000000000000000000000000000000', '7ffffffffffffffffffffffffffffffffffff', '0'],
	['148', '8000000000000000000000000000000000000', 'fffffffffffffffffffffffffffffffffffff', '0'],
	['149', '10000000000000000000000000000000000000', '1fffffffffffffffffffffffffffffffffffff', '0'],
	['150', '20000000000000000000000000000000000000', '3fffffffffffffffffffffffffffffffffffff', ' 03137807790ea7dc6e97901c2bc87411f45ed74a5629315c4e4b03a0a102250c49'],
	['151', '40000000000000000000000000000000000000', '7fffffffffffffffffffffffffffffffffffff', '0'],
	['152', '80000000000000000000000000000000000000', 'ffffffffffffffffffffffffffffffffffffff', '0'],
	['153', '100000000000000000000000000000000000000', '1ffffffffffffffffffffffffffffffffffffff', '0'],
	['154', '200000000000000000000000000000000000000', '3ffffffffffffffffffffffffffffffffffffff', '0'],
	['155', '400000000000000000000000000000000000000', '7ffffffffffffffffffffffffffffffffffffff', ' 035cd1854cae45391ca4ec428cc7e6c7d9984424b954209a8eea197b9e364c05f6'],
	['156', '800000000000000000000000000000000000000', 'fffffffffffffffffffffffffffffffffffffff', '0'],
	['157', '1000000000000000000000000000000000000000', '1fffffffffffffffffffffffffffffffffffffff', '0'],
	['158', '2000000000000000000000000000000000000000', '3fffffffffffffffffffffffffffffffffffffff', '0'],
	['159', '4000000000000000000000000000000000000000', '7fffffffffffffffffffffffffffffffffffffff', '0'],
    ['160', '8000000000000000000000000000000000000000', 'ffffffffffffffffffffffffffffffffffffffff', '02e0a8b039282faf6fe0fd769cfbc4b6b4cf8758ba68220eac420e32b91ddfa673']
]

# Abrir arquivo CSV para escrita dos resultados
with open('resultado_puzzle1.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    
    # Cabeçalho do CSV
    writer.writerow(['ID', 'Inicio', 'Meio', 'Fim', 'MHInício', 'MHMeio', 'MHFim', 'MHSoma'])
    
    # Processamento dos dados
    for row in data:
        id_value = row[0]
        inicio = int(row[1], 16)  # Hex para inteiro
        meio = int(row[3], 16)    # Hex para inteiro
        fim = int(row[2], 16)     # Hex para inteiro
        soma = inicio + fim       # Soma dos valores de início e fim
        
        # Cálculo das médias harmônicas
        mh_inicio = media_harmonica(inicio, inicio * 2, inicio / 2)
        mh_meio = media_harmonica(meio, meio * 2, meio / 2)
        mh_fim = media_harmonica(fim, fim * 2, fim / 2)
        mh_soma = media_harmonica(soma, soma * 2, soma / 2)
        
        # Impressão dos resultados no console
        print(f"ID: {id_value}, Private Key Range: {inicio}, Resposta: {fim}, Private Key / Public Key: {meio}, "
              f"Média Harmônica Início: {mh_inicio:.2f}, Média Harmônica Meio: {mh_meio:.2f}, "
              f"Média Harmônica Fim: {mh_fim:.2f}, Média I+F: {mh_soma:.2f}")
        
        # Escrita no arquivo CSV
        writer.writerow([id_value, inicio, meio, fim, f"{mh_inicio:.2f}", f"{mh_meio:.2f}", f"{mh_fim:.2f}", f"{mh_soma:.2f}"])

print("Dados salvos em 'resultado_puzzle1.csv'")

Como Usar Este Script

Para utilizar este script, certifique-se de:

  • Ter o Python instalado (versão 3.6 ou superior recomendada).
  • Substituir a variável data pelos seus próprios dados estruturados em listas, seguindo o formato apresentado.
  • Executar o script em um ambiente que permita criação de arquivos para que o CSV possa ser salvo corretamente.

Considerações Técnicas e SEO

Este conteúdo é especialmente útil para profissionais de análise de dados, cientistas da computação e estudantes que desejam aprender técnicas avançadas de cálculo numérico e manipulação de dados. O uso adequado de estruturas e a descrição clara contribuem para a indexação eficiente em buscadores como Google e Bing.

Nota Importante: Este conteúdo é de caráter educacional e técnico. Caso utilize para investimentos, faça sua própria análise e avaliação antes de aplicar qualquer decisão financeira.

Para conhecer mais sobre manipulação de arquivos CSV em Python, consulte a documentação oficial do Python: https://docs.python.org/3/library/csv.html

Marcadores: Airdrop Blogger Cripto IA Jogos Python Script Sistemas Tutorial

© junho 30, 2025 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática

Comentários