Строковые типы данных pandas

Я хочу указать типы данных для pandas read_csv. Вот быстрый взгляд на то, что работает, а затем нет, когда указаны типы. Почему последние не работают?

import io import pandas as pd csv = """foo,1234567,a,1 foo,2345678,b,3 bar,3456789,b,5 """ df = pd.read_csv(io.StringIO(csv), names=["fb", "num", "loc", "x"]) print(df) df = pd.read_csv(io.StringIO(csv), names=["fb", "num", "loc", "x"], dtype=["|S3", "np.int64", "|S1", "np.int8"]) print(df) 

Я обновился, чтобы сделать это намного проще и, надеюсь, более ясным в предложении BrenBarn. Мой реальный набор данных намного больше, но я хотел бы использовать метод для создания типов для всех моих данных при импорте.

One Solution collect form web for “Строковые типы данных pandas”

Как показал Джефф, мой синтаксис был плохим. Названия и типы должны быть заархивированы в список отношений стиля dic. Код ниже работает, но обратите внимание, что вы не можете dtype ширину строки; вы можете определить его только как объект.

 import pandas as pd import io csv = """foo,1234567,a,1 foo,2345678,b,3 bar,3456789,b,5 """ df = pd.read_csv(io.StringIO(csv), names = ["fb", "num", "ab", "x"], dtype = {"fb" : object, "num" : np.int64, "ab" : object, "x" : np.int8}) print(df) 
  • сюжет всей строки на пандах
  • для цикла, использующего iterrows в пандах
  • Форматирование строк для времени Python с (слегка) временными часами с использованием Pandas
  • Переименование столбцов, содержащих значения десятичной ячейки
  • Pandas Left Outer Присоединиться к результатам в таблице больше левой таблицы
  • Круговая зависимость в кадре данных панд
  • как конвертировать csv в словарь с помощью панд
  • Python Pandas объединяет данные в индексе
  • Умножьте два pandas DataFrames на основе столбца
  • групповой мультииндекс pandas dataframe
  • pd.rolling_mean становится устаревшим - альтернативы для ndarrays
  • Python - лучший язык программирования в мире.