удаление строк входного файла панд. - PullRequest
0 голосов
/ 30 апреля 2018

Я читаю файлы в пандах, для которых имена столбцов не начинаются со строки номер один, вместо этого есть заголовок / строка имени 1 файла data.csv

>>> df = pd.read_csv("data.csv")
>>> df
  Unnamed: 0 Unnamed: 1  name Unnamed: 3
0       col1       col2  col3       col4
1          1          2     3          4
2          2          5     4          6

В этом случае, как я могу удалить строку с заголовками / именами и убедиться, что фактические имена столбцов - col1, col2 и т. Д.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы можете пропустить строки:

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

pd.read_csv("data.csv",header=[0], skiprows=[0])

Данные:

Я использовал следующие данные, хранящиеся в файле с именем data.csv

,,name,
0,       col1,       col2,  col3,       col4,
1,          1,          2,     3,          4,
2,          2,          5,     4,          6

Выход:

0         col1         col2    col3         col4  Unnamed: 5
0  1            1            2       3            4         NaN
1  2            2            5       4            6         NaN

Из документов:

Номера строк для пропуска (0-индексированные) или количество строк для пропуска (int) в начале файла.

Ссылка на источник:

Вот ссылка на документацию для вашей справки.

0 голосов
/ 30 апреля 2018

Учитывая, что ваши данные в data.csv, вы можете использовать следующий код:

df = pd.read_csv("data.csv", skiprows=1)

Выход:

    col1    col2    col3    col4    Unnamed: 4  Unnamed: 5  Unnamed: 6
0   1        2       3       4      NaN          NaN          NaN
1   2        5       4       6      NaN          NaN          NaN

Удалите ненужные столбцы с помощью

df = df.dropna(axis=1)
print(df)

Выход:

   col1 col2 col3 col4
0   1    2    3     4
1   2    5    4     6

Как отметил @jpp, вы также можете достичь этого за один шаг следующим образом:

df = pd.read_csv("data.csv", skiprows=1, usecols=['col1', 'col2', 'col3', 'col4'])

Обратитесь к read_csv () , dropna () для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...