Как столбец перевести в строку python
Перейти к содержимому

Как столбец перевести в строку python

  • автор:

Как преобразовать столбцы Pandas DataFrame в строки

Часто вы можете захотеть преобразовать один или несколько столбцов в кадре данных pandas в строки. К счастью, это легко сделать с помощью встроенной функции pandas astype(str) .

В этом руководстве показано несколько примеров использования этой функции.

Пример 1: преобразование одного столбца DataFrame в строку

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df player points assists 0 A 25 5 1 B 20 7 2 C 14 7 3 D 16 8 4 E 27 11 

Мы можем определить тип данных каждого столбца с помощью dtypes:

df.dtypes player object points int64 assists int64 dtype: object 

Мы видим, что столбец «игрок» представляет собой строку, а два других столбца «очки» и «ассисты» — целые числа.

Мы можем преобразовать столбец «точки» в строку, просто используя astype(str) следующим образом:

df['points'] = df['points'].astype( str ) 

Мы можем убедиться, что этот столбец теперь является строкой, еще раз используя dtypes:

df.dtypes player object points object assists int64 dtype: object 

Пример 2. Преобразование нескольких столбцов DataFrame в строки

Мы можем преобразовать оба столбца «точки» и «ассисты» в строки, используя следующий синтаксис:

df[['points', 'assists']] = df[['points', 'assists']].astype( str ) 

И еще раз мы можем проверить, что это строки, используя dtypes:

df.dtypes player object points object assists object dtype: object 

Пример 3: преобразование всего фрейма данных в строки

Наконец, мы можем преобразовать каждый столбец в DataFrame в строки, используя следующий синтаксис:

#convert every column to strings df = df.astype(str) #check data type of each column df.dtypes player object points object assists object dtype: object 

Вы можете найти полную документацию по функции astype() здесь .

Python: Как преобразовать список в строку?

В этом коротком руководстве мы рассмотрим различные методы, которые можно использовать для преобразования списка Python в строку.

Зачем преобразовывать список Python в строку?

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

Если это не так, я бы порекомендовал это решение, если вы новичок. Но не стесняйтесь пройти их все, если вам интересно их изучить.

Способы преобразования списка Python в строки

Используя join():

Наиболее распространенным и питоническим способом преобразования списка python в строку является использование метода join() . Он принимает итеративные объекты, последовательно присоединяет и возвращает их в виде строки. Однако значения в iterable должны иметь строковый тип данных, и в случае, если iterable содержит int, вы можете использовать второй метод.

string.join(iterable) 

Здесь string является разделителем

iterable — Любой итерируемый объект — список, кортежи, набор и т.д.

Код для преобразования списка Python в строку с помощью join():

flexiple = ["Hire", "the", "top", "freelancers"] print(" ".join(flexiple)) #Output - "Hire the top freelancers" 

Поскольку разделителем был пробел, строка содержит символы в списке, разделенные строкой.

Как упоминалось выше, попытка использовать итерацию, содержащую объект int , вернет typeerror . Следующее решение покажет вам, как это обойти.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(flexiple)) 

Использование join() и map():

Поскольку методы join() принимают только строковые значения, мы используем map() для преобразования значений int в строку перед преобразованием списка python в строку. Методы map() выполняют определенную функцию для всех значений в итерации.

map(function, iterables) 

function — Конкретная функция, которую вы хотите выполнить

iterable — Итерируемый объект, содержащий значения

Таким образом, передавая функцию str() , которая преобразует объекты в строку, мы можем преобразовать значения типа int, а затем объединить их в строку.

Код для преобразования списка Python в строку с помощью map() :

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(map(str,flexiple))) #Output - "Hire the top 10 python freelancers" 

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

Третий метод преобразования списка Python в строку — это написать цикл и добавить каждую итерацию в строку. Я бы предложил этот метод, если вы новичок в Python и не знакомы с такими понятиями, как join() и map() т.д. Код может быть длиннее, но он будет более читабельным для новичка.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] f1 = "" for i in flexiple: f1 += str(i)+ " " print(f1) #Output = "Hire the top 10 python freelancers " 

Перевести столбец в строку python

У меня есть проблема. Моя задача состоит в том, чтобы вытащить столбец из некой таблицы и записать его длину len() . Но мой код выдает его в столбец, из-за чего len() считает каждый элемент столбца отдельно, а не их общее количество

for col in water: el = list(col.split()[2]) 
 HETATM 1 H HOH A 1 27.265 36.739 58.126 HETATM 2 H HOH A 1 27.109 35.124 57.944 HETATM 3 O HOH A 1 27.486 35.958 57.542 . HETATM 9999 O HOH A3333 30.490 83.899 10.929 

Python число в строку

Чтобы конвертировать число в строку, используйте встроенную функцию str() . Эта функция в качестве входящих данных принимает число (или другой тип данных), а в результате выдает строку.

Примеры

Вот один пример:

>>> str(123) '123'

Если число является значением переменной, конвертировать его можно следующим образом:

>>> number = 999 >>> number_as_string = str(number) >>> number_as_string '999'

Конкатенация строк и чисел в Python

Иногда возникает необходимость сконструировать строку, содержащую число из другой переменной. Вот пример, как это делается:

>>> week = 33 >>> greeting = "it is week " + str(week) >>> greeting 'it is week 33'

Избегаем преобразования типов данных

Когда разработчикам нужно объединить число и строку, они обычно применяют функцию str() непосредственно перед выводом данных на экран. Например:

>>> name = "Bob" >>> age = 33 >>> print(name + " is " + str(age) + " years old") Bob is 33 years old

Но гораздо более чистый способ — применять к строкам метод .format() :

>>> print(" is years old".format(name=name, age=age)) Bob is 33 years old

А еще лучше — использовать f-строки (Python 3):

>>> print(f" is years old") Bob is 33 years old

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *