Проблема Nan с pandas.read_csv

#python #pandas

#python #pandas

Вопрос:

Я пытаюсь прочитать файл данных с заголовком. Файл данных прикреплен, и я использую следующий код:

 import pandas as pd
data=pd.read_csv('TestData.out', sep=' ', skiprows=1, header=None)
  

Проблема в том, что у меня в файле данных 20 столбцов, в то время как я получаю 32 столбца в переменных данных. Как я могу решить эту проблему. Я очень новичок в Python, и я учусь.

Data_File

Комментарии:

1. В настоящее время доступ к файлу запрещен

2. О! извините, позвольте мне взглянуть на это

3. Теперь должно сработать, спасибо, что дали мне знать

Ответ №1:

Ваш текстовый файл содержит два пробела вместе, в из любого значения, которое не имеет знака минус. если sep=' ' pandas видит это как два разделителя, между которыми нет ничего ( Nan ) .

Это исправит это:

 data = pd.read_csv('TestData.out', sep='s ', skiprows=1, header=None)
  

В этом случае sep интерпретируется как регулярное выражение, которое ищет «один из нескольких пробелов» в качестве разделителя и возвращает столбцы 0, хотя 19.

Ответ №2:

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

 data= pd.read_csv('TestData.out',sep=' ',skiprows=1,skipinitialspace=True)
  

Комментарии:

1. Это съедает одну строку, выводит только 99 строк из 100

2. Да, ваш файл содержит данные, отличные от заголовка, в качестве первой строки. Итак, вы должны пропустить его синтаксический анализ, используя skiprows=1 .