Как создать dataframe pandas из строки


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

 import pandas as pd
import io   

df = pd. read_csv ( io.StringIO (string_data), sep=" , ")

Этот конкретный синтаксис создает DataFrame pandas, используя значения, содержащиеся в строке с именем string_data .

Следующие примеры показывают, как использовать этот синтаксис на практике.

Пример 1. Создание DataFrame из строки с разделителями-запятыми

Следующий код показывает, как создать DataFrame pandas из строки, в которой строковые значения разделены запятыми:

 import pandas as pd
import io

#define string
string_data="""points, assists, rebounds
5, 15, 22
7, 12, 9
4, 3, 18
2, 5, 10
3, 11, 5
"""

#create pandas DataFrame from string
df = pd. read_csv ( io.StringIO (string_data), sep=" , ")

#view DataFrame
print (df)

   points assists rebounds
0 5 15 22
1 7 12 9
2 4 3 18
3 2 5 10
4 3 11 5

Результатом является DataFrame pandas с пятью строками и тремя столбцами.

Пример 2. Создание DataFrame из строки с разделителями-точками с запятой

Следующий код показывает, как создать DataFrame pandas из строки, в которой строковые значения разделены точкой с запятой:

 import pandas as pd
import io

#define string
string_data="""points;assists;rebounds
5;15;22
7;12;9
4;3;18
2;5;10
3;11;5
"""

#create pandas DataFrame from string
df = pd. read_csv ( io.StringIO (string_data), sep=" ; ")

#view DataFrame
print (df)

   points assists rebounds
0 5 15 22
1 7 12 9
2 4 3 18
3 2 5 10
4 3 11 5

Результатом является DataFrame pandas с пятью строками и тремя столбцами.

Если у вас есть строка с другим разделителем, просто используйте аргумент sep в функции read_csv() , чтобы указать разделитель.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как преобразовать столбцы Pandas DataFrame в строки
Как преобразовать временную метку в дату/время в Pandas
Как преобразовать DateTime в дату в Pandas

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

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