Игнорировать строку при чтении CSV в пандах - PullRequest
0 голосов
/ 20 сентября 2018

Возникли проблемы при выполнении вычислений в кадре данных Pandas ... Вот пример CSV (см. Рисунок): sample CSV

Моя проблема в том, что он читает строку курсивомнапример, Тип данных (строка 2), он обрабатывает все значения как строки, а не их правильный тип данных, то есть с плавающей точкой, градусы и т. д. Есть ли способ заставить его игнорировать эту строку при чтении CSV, например

df = pd.read_CSV ('sample CSV', игнорировать строку 2)

Таким образом, он будет считываться следующим образом (см. другое изображение) и принимать правильные типы данных:

enter image description here

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Вы можете использовать skiprows=[0], для более подробной информации вы можете обратиться к документации :

df = pd.read_csv('Your Filename', skiprows=[0])
0 голосов
/ 20 сентября 2018

Вы можете передать список на skiprows, чтобы пропустить только эту строку.Из документов :

пропусков: в виде списка или целых или вызываемых, по умолчанию нет

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

Попробуйте:

pd.read_csv('my.csv', skiprows=[1])

Остерегайтесь того, что питон начинает считать с 0. Таким образом, этот столбец (в питоне) в 1

0 голосов
/ 20 сентября 2018

Вы должны использовать аргумент header в read_CSV.Например:

df = pd.read_CSV('sample CSV', header=2)

Это не назначит имена в первом ряду.Вероятно, этого можно достичь, передав имена столбцов вручную:

df = pd.read_CSV('sample CSV', header=2, names=['UTC Time', 'Value1', 'Value2', 'Value3'])

Вы можете даже получить имена программным путем:

with open('filename.csv', 'r') as fh:
    names = fr.readline().split(',')
df = pd.read_CSV('sample CSV', header=2, names=names)

(весь код не проверен)

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