Поиск по сайту:

Python — среднее значение списка кортежей индекса K


Поиск списка кортежей индекса K — важная концепция программирования на Python. Постановка задачи заключается в том, что нам нужно найти среднее значение всех элементов, присутствующих в k-м индексе элементов кортежа. Кортежи будут объединены в тип данных списка. В этой статье мы будем применять различные подходы, такие как использование цикла while, понимание списков и таких библиотек, как Pandas, NumPy, Статистика и т. д.

Понимание постановки задачи

Наши входные данные должны содержать список кортежей и значение k.

list:  [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
k: 1

Нам нужно найти среднее значение k-го элемента. Мы будем рассматривать k как индекс. Итак, элемент при k=1:

(4, 5, 6)

Среднее число: (4+5+6)/3=15/3=5.

Output: 5

Использование цикла

Цикл — важный оператор Python. Операторы цикла позволяют нам перебирать повторяемые объекты. Мы можем использовать следующий метод, чтобы найти среднее значение списка кортежей k-го индекса:

  • Сначала инициализируйте переменную, скажем, «сумма» и «счет».

  • Перебирайте элементы кортежа.

  • Используйте свойство индексации кортежа, чтобы получить доступ к k-му элементу и добавить его к сумме.

  • Продолжайте увеличивать значение count на единицу на каждой итерации.

  • «сумма/счет» дает требуемый ответ.

Пример

В следующем примере мы использовали kth_index_tuple_list_mean для поиска списка кортежей k-го индекса. Мы инициализировали две переменные с именами «total» и «count». Затем мы прошлись по списку и на каждой итерации использовали свойство indexing для доступа к k-м элементам. Мы продолжали добавлять k-е элементы к инициализированной переменной total. Для каждой итерации мы увеличивали значение счетчика на единицу. Наконец, мы вернули «всего/количество».

def kth_index_tuple_list_mean(tuples_list, k):
    total = 0
    count = 0
    for tuple_item in tuples_list:
        if len(tuple_item) > k:
            total += tuple_item[k]
            count += 1
    if count > 0:
        return total / count
    else:
        return None
tuples_list = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
k = 1
result = kth_index_tuple_list_mean(tuples_list, k)
print(f"The mean of the kth elements of the tuples of the list is: {result}") 

Выход

The mean of the kth elements of the tuples of the list is: 5.0

Использование понимания списка

Понимание списка — популярный метод в Python для генерации элементов списка. Понимание списка позволяет разработчикам объединять несколько операторов, условий и т. д. в один оператор и на его основе генерировать элементы списка. Преимущество использования этого метода в том, что он делает код более лаконичным и компактным.

Пример

В следующем коде мы использовали метод понимания списка. Для каждого кортежа в списке мы взяли только те, длина которых больше «k». Затем мы снова использовали метод понимания списка и метод суммы, чтобы найти сумму допустимых элементов. Мы разделили результат на длину допустимых элементов.

def kth_index_tuple_list_mean(tuples_list, k):
    valid_tuples = [tuple_item for tuple_item in tuples_list if len(tuple_item) > k]
    if valid_tuples:
        return sum(tuple_item[k] for tuple_item in valid_tuples) / len(valid_tuples)
    else:
        return None
tuples_list = [(8, 2, 7), (9, 5, 3), (7, 3, 9), (7,8,5)]
k = 2
result = kth_index_tuple_list_mean(tuples_list, k)
print(f"The mean of the kth elements of the tuples of the list is: {result}") 

Выход

The mean of the kth elements of the tuples of the list is: 6.0

Использование массива Numpy

Numpy — популярная библиотека Python для числовых вычислений. Он представляет массивы — специализированную структуру данных, которая может содержать только однородные типы данных. Numpy предоставляет эффективные функции и методы для манипулирования массивами, математических операций, статистики и т. д. Он обеспечивает оптимизированные алгоритмы, масштабируемость и интеграцию с другими библиотеками, такими как Pandas и Matplotlib. Numpy необходим для задач, связанных с числовыми данными и научными вычислениями на Python.

Пример

В следующем коде мы использовали массивы Numpy. Сначала мы импортируем библиотеку Numpy в наш код. Затем мы создали функцию kth_index_tuple_list_mean, которая принимает список и значение «k». Мы использовали понимание списка, чтобы добавить k-й элемент кортежа в список и преобразовали его в массив, используя метод «массив» Numpy. Далее мы вернули среднее значение, если размер сгенерированного массива не равен нулю.

import numpy as np

def kth_index_tuple_list_mean(tuples_list, k):
    array = np.array([tuple_item[k] for tuple_item in tuples_list if len(tuple_item) > k])
    if array.size > 0:
        return np.mean(array)
    else:
        return None

tuples_list = [(8, 2, 7), (9, 5, 3), (7, 3, 9), (7,8,5)]
k = 0
result = kth_index_tuple_list_mean(tuples_list, k)
print(f"The mean of the kth elements of the tuples of the list is: {result}") 

Выход

The mean of the kth elements of the tuples of the list is: 7.75

Использование библиотеки Pandas

Pandas — популярная библиотека Python для манипулирования, очистки и анализа данных. Мы активно используем библиотеку для анализа данных в Python перед машинным обучением или глубоким обучением. Pandas имеет дело с фреймом данных — специальной структурой данных со строками и столбцами. Pandas предлагает несколько встроенных методов и функций, которые мы можем использовать для выполнения многих задач.

Пример

В следующем примере мы сначала импортировали библиотеку панды. Далее мы создали функцию kth_index_tuple_list_mean. В рамках этой функции мы сначала преобразовали список во фрейм данных. Мы использовали метод dropna для удаления значений, отличных от k-го элемента. Затем мы использовали метод списка средних значений, чтобы найти среднее значение допустимых значений.

import pandas as pd

def kth_index_tuple_list_mean(tuples_list, k):
    df = pd.DataFrame(tuples_list)
    valid_tuples = df[df.columns[k]].dropna()
    if not valid_tuples.empty:
        return valid_tuples.mean()
    else:
        return None


tuples_list = [(7, 2, 7), (9, 5, 3), (7, 3, 9), (7,8,5)]
k = 0
result = kth_index_tuple_list_mean(tuples_list, k)
print(f"The mean of the kth elements of the tuples of the list is: {result}") 

Выход

The mean of the kth elements of the tuples of the list is: 7.5

Использование библиотеки списков и статистики

Библиотека статистики в Python — мощный инструмент для выполнения статистического анализа и вычислений. Он предоставляет ряд функций и методов для обработки данных и извлечения полезной информации. Библиотека чрезвычайно полезна для работы с центральными тенденциями, такими как среднее значение, медиана, мода, стандартное отклонение, дисперсия и т. д.

Пример

В следующем коде мы объединили библиотеку понимания списков и статистику, чтобы найти среднее значение кортежа k-го индекса. Мы использовали понимание списка, чтобы добавить k-й элемент кортежей в список «valid_values», где длина кортежа больше k. Затем мы использовали метод Python «среднее», чтобы найти среднее значение числа.

import statistics

def kth_index_tuple_list_mean(tuples_list, k):
    valid_values = [tuple_item[k] for tuple_item in tuples_list if len(tuple_item) > k]
    if valid_values:
        return statistics.mean(valid_values)
    else:
        return None


tuples_list = [(7, 2, 7), (9, 5, 3), (7, 3, 9), (7,8,5)]
k = 0
result = kth_index_tuple_list_mean(tuples_list, k)
print(f"The mean of the kth elements of the tuples of the list is: {result}") 

Выход

The mean of the kth elements of the tuples of the list is: 7.5

Заключение

Эта статья научила нас, как обращаться со средним значением списка кортежей k-го индекса Python. Python — это универсальный язык программирования, который предлагает нам множество библиотек и пакетов для работы с ним. Для этого мы использовали оператор цикла. Далее мы также увидели, как другие методы, такие как понимание списков, Pandas, Numpy и т. д., предлагают более удобный способ сделать это.

Статьи по данной тематике: