Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Перемноження списків у Python є звичайною операцією під час виконання математичних обчислень або розв’язування проблем із маніпулюванням даними. Існує кілька способів виконати це завдання залежно від ваших вимог і доступних бібліотек.
Щоб помножити списки в Python, ви можете використовувати функції циклів for, розуміння списків, zip і map, або вбудований модуль functools. Ви також можете використовувати функції із зовнішньої бібліотеки Python, наприклад NumPy.
Ця стаття покаже вам багато різних способів множення списків, кожен з яких містить приклад коду та пояснення результатів.
Давайте розпочнемо!
Зміст
2 типи множення числового списку в Python
Перш ніж ми заглибимося в конкретні методи, ви повинні зрозуміти тип множення списку, який вони досягають.
Python має кілька різних концепцій, які підпадають під широкий термін множення списку. Це включає копіювання списків або досягнення декартового добутку елементів у списку.
Ця стаття фокусується на двох типах арифметичного множення елементів у списку:
Множення на значення
Поелементне множення
Давайте коротко розглянемо ці два поняття.
1. Множення на значення
Якщо у вас є список цілих чисел, ви можете помножити кожен елемент на певне значення. Наприклад, у вас є список [1, 2, 3] і ви хочете помножити кожен елемент на значення 3.
Ви можете спробувати (неправильно) використати оператор множення, як у цьому фрагменті коду:
list1 = [1, 2, 3]
result = list1 * 3
Ви можете бути здивовані тим, що результат [1, 2, 3, 1, 2, 3, 1, 2, 3]. Це відомо як реплікація списку .
2. Поелементне множення списків
Припустимо, у вас є два списки: [1, 2, 3] і [4, 5, 6]
Ви хочете помножити елементи з однаковим індексом у списку, щоб у результаті отримати [4, 10, 18].
Якщо ви спробуєте помножити два разом за допомогою оператора «*», ви отримаєте повідомлення про помилку:
TypeError: неможливо помножити послідовність на не int типу 'list'
Це тому, що оператор множення не призначений для роботи зі списками так, як він працює з цілими числами або числами з плаваючою точкою. Натомість множення списків вимагає операції, відомої як поелементне множення.
Поелементне множення об’єднує відповідні елементи з двох списків і множить їх разом, утворюючи новий список.
Тепер, коли ви розумієте ці дві концепції. давайте попрацюємо з низкою технік, щоб досягти правильних результатів.
Як використовувати цикл For для створення кількох елементів списку в Python
Припустимо, ви хочете помножити елементи на значення. Для цього підходу ви можете перебирати елементи за допомогою a та множити кожен на друге значення.
Ось приклад з одним списком. Змінна результату містить вихідний список.
list1 = [1, 2, 3, 4]
factor = 3
result = []
for element in list1:
result.append(element * factor)
У цьому випадку список результатів матиме вигляд [3, 6, 9, 12].
Як використовувати списки для множення
Розуміння списку забезпечує стислий спосіб виконання числового типу множення списку. Ви отримуєте той самий результат, що й цикл for , але з більш компактним синтаксисом.
Ось попередній приклад із використанням розуміння списку:
list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]
Результатом цього коду є той самий результат, що й раніше: [3, 6, 9, 12].
Як використовувати функцію Zip для поелементного множення
Якщо у вас є два списки цілих чисел, ви можете помножити списки поелементно. Це означає, що ви множите перший елемент у першому списку на перший елемент у другому списку і так далі з елементами в тій же позиції.
Функція zip() може досягти цього, якщо поєднати її з розумінням списку.
Функція поєднує елементи двох списків введення, дозволяючи вам паралельно переглядати їх. Ось приклад використання списків однакового розміру:
list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]
У цьому випадку змінна результату буде містити результуючий список: [4, 10, 18].
Робота з кортежами та конструкторами
Іноді вам може знадобитися працювати зі списками, які містять кортежі, а не прості цілі числа.
Щоб помножити два списки кортежів , ви можете використати комбінацію:
функція zip().
конструктори кортежів
розуміння списку
Ось приклад:
list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]
result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]
Ось результат: [(5, 12), (21, 32)].
Як використовувати функцію Map і Lambda в Python
Функція map у Python — це зручний спосіб застосувати функцію до кожного елемента в ітерації, як-от список.
Лямбда-функція в Python — це невелика анонімна функція. Це означає, що це функція без імені.
Щоб помножити два списки поелементно, ви можете поєднати функції map і lambda:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))
Змінна результату буде містити перемножені списки: [4, 10, 18].
Як використовувати модуль оператора в Python
Операторський модуль надає безліч корисних функцій для роботи з різними структурами та типами даних.
Функцію operator.mul() можна використовувати для множення списків цілих чисел, якщо ви поєднуєте її з функцією map.
import operator
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(operator.mul, list1, list2))
У цьому прикладі ви імпортуєте модуль оператора та використовуєте функцію mul() разом із вбудованою функцією Python map() для множення кожного елемента з двох списків.
Змінна результату буде містити перемножені списки: [4, 10, 18].
Бібліотека NumPy: функції масиву та множення
Бібліотека NumPy — це потужна зовнішня бібліотека в Python, яка широко використовується для чисельних обчислень і роботи з масивами. Ця бібліотека особливо ефективна при роботі з великими або багатовимірними масивами.
Щоб використовувати NumPy, ви можете встановити його за допомогою pip:
pip install numpy
Щоб виконати поелементне множення у двох списках за допомогою NumPy, виконайте такі загальні дії:
Перетворіть кожен список на масив NumPy за допомогою numpy.array() .
Виконайте множення за допомогою функції множення NumPy.
За бажанням конвертуйте результат назад у список Python за допомогою методу tolist().
Ось приклад коду:
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)
res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()
Це поверне той самий результат, що й у попередніх прикладах: [4, 10, 18].
Як поєднати Functools і NumPy у Python
Бібліотека functools містить функцію зменшення, яка застосовує певну функцію сукупно до елементів у списку, скорочуючи список до одного значення.
Щоб помножити два списки за допомогою функції reduce() , ви можете поєднати її з функцією множення з бібліотеки NumPy.
Ось приклад:
from functools import reduce
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = reduce(np.multiply, [list1, list2])
Цей код імпортує необхідні бібліотеки та використовує функцію reduce() разом із numpy.multiply() для виконання поелементного множення двох списків.
Робота зі списками та іншими структурами даних у Python
Більшість аспектів аналізу даних вимагають роботи з іншими структурами даних. Наприклад, ви використаєте свої знання під час обробки відсутніх даних за допомогою інтерполяції.
Перегляньте це відео, щоб дізнатися про деякі передові методи:
Заключні думки
Ви вивчили різні методи арифметичного множення списків у Python. Деякі використовують лише вбудовані модулі та функції, а інші покладаються на бібліотеки сторонніх розробників.
Можливість виконувати поелементне множення відкриває двері для безлічі застосувань. Від аналізу даних до машинного навчання, ці операції є важливою частиною багатьох алгоритмів і обчислювальних завдань.
Хоча ця стаття присвячена множенню, поняття, які ви вивчили, також поширюються на інші операції. Поелементне додавання, віднімання та ділення також можна виконати приблизно таким же чином.
Пам’ятайте, що найкращий спосіб закріпити ці концепції – це застосувати їх, тому продовжуйте, запускайте своє середовище Python і починайте експериментувати. Незалежно від того, автоматизуєте ви завдання, маніпулюєте даними чи створюєте складне програмне забезпечення, ці методи, безсумнівно, стануть у нагоді.
Щасливого Pythoning!
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.