Преобразование числовых строк, разделенных запятыми, в целочисленные списки в Python Pandas: подробное руководство

В Python библиотека Pandas — мощный инструмент для манипулирования и анализа данных. Одной из распространенных задач при работе с данными является преобразование числовых строк, разделенных запятыми, в целочисленные списки. В этой статье мы рассмотрим различные методы выполнения этой задачи с помощью Pandas. Итак, давайте углубимся и научимся преобразовывать эти строки в осмысленные целочисленные списки!

Метод 1: использование функции Split() и понимания списка
Пример кода:

import pandas as pd
def convert_string_to_list(string):
    # Split the string on commas and convert each element to an integer
    integer_list = [int(num) for num in string.split(',')]
    return integer_list
# Example usage
string = "1,2,3,4,5"
result = convert_string_to_list(string)
print(result)

Объяснение:
В этом методе мы используем функцию split()для разделения входной строки на запятые, создавая список подстрок. Затем мы используем понимание списка для перебора каждой подстроки и преобразования ее в целое число с помощью функции int(). Наконец, мы возвращаем результирующий список целых чисел.

Метод 2: использование функций map() и функции Split()
Пример кода:

import pandas as pd
def convert_string_to_list(string):
    # Split the string on commas and convert each element to an integer using map()
    integer_list = list(map(int, string.split(',')))
    return integer_list
# Example usage
string = "1,2,3,4,5"
result = convert_string_to_list(string)
print(result)

Объяснение:
В этом методе мы используем функцию map()вместе с функцией int()для преобразования каждой подстроки в целое число. Функция map()применяет функцию int()к каждой подстроке, возвращаемой функцией split(). Наконец, мы преобразуем полученный объект карты в список с помощью функции list(), которая дает нам желаемый целочисленный список.

Метод 3. Использование функции apply() с лямбда-функцией
Пример кода:

import pandas as pd
def convert_string_to_list(string):
    # Split the string on commas and convert each element to an integer using a lambda function
    integer_list = pd.Series(string.split(',')).apply(lambda x: int(x)).tolist()
    return integer_list
# Example usage
string = "1,2,3,4,5"
result = convert_string_to_list(string)
print(result)

Объяснение:
В этом методе мы используем объект Pandas Seriesдля создания серии подстрок путем разделения входной строки на запятые. Затем мы используем функцию apply()вместе с лямбда-функцией, чтобы применить функцию int()к каждой подстроке. Наконец, мы преобразуем полученную серию в список с помощью функции tolist(), получая желаемый целочисленный список.

Метод 4. Использование функции astype()
Пример кода:

import pandas as pd
def convert_string_to_list(string):
    # Split the string on commas and convert the resulting series to integers using astype()
    integer_list = pd.Series(string.split(',')).astype(int).tolist()
    return integer_list
# Example usage
string = "1,2,3,4,5"
result = convert_string_to_list(string)
print(result)

Объяснение:
В этом методе мы разделяем входную строку на запятые, чтобы создать серию подстрок. Затем мы используем функцию astype()для преобразования ряда в целые числа. Наконец, мы преобразуем полученную серию в список с помощью функции tolist(), получая желаемый целочисленный список.