Панды читают csv, одновременно передавая аргументы usecols и namePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Панды читают csv, одновременно передавая аргументы usecols и name

Сообщение Anonymous »

При чтении файла CSV как кадра данных pandas возникает ошибка при попытке выбрать подмножество столбцов на основе исходных имен столбцов (

Код: Выделить всё

usecols=
) и переименование выбранных столбцов (

Код: Выделить всё

names=). Передача переименованных имен столбцов в usecols
работает, но для правильного выбора столбцов необходимо передать все столбцы в имена.

Код: Выделить всё

# read the entire CSV
df1a = pd.read_csv(folder_csv+'test_read_csv.csv')
# select a subset of columns while reading the CSV
df1b = pd.read_csv(folder_csv+'test_read_csv.csv', usecols=['Col1','Col3'])
# rename columns while reading the CSV
df1c = pd.read_csv(folder_csv+'test_read_csv.csv', names=['first', 'second', 'third'], header=0)

# select a subset of columns and rename them while reading the CSV;
# throws error "ValueError: Usecols do not match columns, columns expected but not found: ['Col3', 'Col1']"
df1d = pd.read_csv(folder_csv+'test_read_csv.csv', usecols=['Col1','Col3'], names=['first','third'])

# selects columns 1 and 2, calling them 1 and 3
df1e = pd.read_csv(folder_csv+'test_read_csv.csv', usecols=['first','third'], names=['first','third'])
# selects columns 1 and 3 correctly
df1f = pd.read_csv(folder_csv+'test_read_csv.csv', usecols=['first','third'], names=['first','second','third'])
Файл CSV test read_csv.csv:

Код: Выделить всё

Col1,Col2,Col3
val1a,val2a,val3a
val1b,val2b,val3b
val1c,val2c,val3c
val1d,val2d,val3d
val1e,val2e,val3e
Разве не было бы довольно распространенным вариантом использования определенных столбцов на основе исходных имен столбцов, а затем переименовывать только эти столбцы во время чтения данные?
Конечно, можно выбрать столбцы и переименовать их после загрузки всего CSV-файла:

Код: Выделить всё

df1 = df1[['Col1','Col3']]
df1.columns = ['first', 'third']
Но я не знаю, как и можно ли это интегрировать напрямую при чтении данных. То же самое справедливо и для pd.read_excel().

Подробнее здесь: https://stackoverflow.com/questions/786 ... names-args
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Панды читают CSV с разделителями табуляции
    Anonymous » » в форуме Python
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • Панды читают CSV, содержащий несколько таблиц
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Панды читают CSV как тип строки
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Панды читают в CSV с использованием одной цитаты в качестве Quotechar Throws SyntaxError: неполный ввод
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Панды читают XML-файл с назначенным типом данных
    Anonymous » » в форуме Python
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»