English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Примеры операций ввода-вывода Pandas
Основные функции чтения текстовых файлов - read_csv() и read_table(). Они используют одинаковый код парсинга для преобразования табличных данных в объект DataFrame:
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None
Сохраните данные в файл temp.csv и работайте с ними.
Nомер,Имя,Возраст,Город,Зарплата 1,Tom,28,Toronto,20000 2,Lee,32,HongKong,3000 3,Steven,43,Bay Area,8300 4,Ram,38,Hyderabad,3900
Функция read.csv читает данные из csv файла и создает объект DataFrame.
import pandas as pd df=pd.read_csv("temp.csv") print df
Результат выполнения:
Nомер Имя Возраст Город Зарплата 0 1 Tom 28 Toronto 20000 1 2 Lee 32 HongKong 3000 2 3 Steven 43 Bay Area 8300 3 4 Ram 38 Hyderabad 3900
Это установит указанное в csv файле поле в качестве индекса с помощью параметра index_col.
import pandas as pd df=pd.read_csv("temp.csv",index_col=['S.No']) print df
Результат выполнения:
Nомер Имя Возраст Город Зарплата 1 Tom 28 Toronto 20000 2 Lee 32 HongKong 3000 3 Steven 43 Bay Area 8300 4 Ram 38 Hyderabad 3900
dtype для столбца можно передать как dict.
import pandas as pd df = pd.read_csv("temp.csv", dtype={'Salary': np.float64}) print df.dtypes
Результат выполнения:
S.No int64 Name object Age int64 City object Salary float64 dtype: object
По умолчанию, dtype для столбца Salary составляет int, но результат отображает его как float,因为我们 явно преобразовали тип. Таким образом, данные выглядят как float.
Таким образом, данные выглядят как float −
S.No Name Age City Salary 0 1 Tom 28 Toronto 20000.0 1 2 Lee 32 HongKong 3000.0 2 3 Steven 43 Bay Area 8300.0 3 4 Ram 38 Hyderabad 3900.0
Используйте параметр names для указания имен заголовков.
import pandas as pd df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e']) print df
Результат выполнения:
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 HongKong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
Обратите внимание, что после названия заголовка добавлено пользовательское имя, но заголовок в файле еще не удален. В настоящее время мы используем параметр header, чтобы удалить его.
Если заголовок не находится в первой строке, то передается номер строки заголовка. Это пропустит предыдущие строки.
import pandas as pd df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0) print df
Результат выполнения:
a b c d e 0 Nомер S.No Имя Name Возраст Age Город City Зарплата Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 HongKong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
skiprows пропускает указанное количество строк.
import pandas as pd df=pd.read_csv("temp.csv", skiprows=2) print df
Результат выполнения:
2 Lee 32 HongKong 3000 0 3 Steven 43 Bay Area 8300 1 4 Ram 38 Hyderabad 3900