Предупреждение DtypeWarning: столбцы (13) имеют смешанные типы

#python #pandas

#python #панды

Вопрос:

Когда я запускаю следующий код со столбцом, указанным как object , я получаю предупреждение

 /opt/conda/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2785: DtypeWarning: Columns (13) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)
 

Я также попытался установить low_memory=False и использовать как ложную нехватку памяти, так и указание типа данных, но ошибка не исчезнет.

Самое странное, что я использовал точный код еще для 2 файлов и не получил ошибок.

Что я могу сделать?

Ps. Это самый большой файл из всех 3. В нем более 400 000 строк и 14 столбцов. У других более 200 000 и более 170 000 строк

 re = requests.get('https://s3.amazonaws.com/baywheels-data/202002-baywheels-tripdata.csv.zip')
zip_file = zipfile.ZipFile(io.BytesIO(re.content))
csvfile = zip_file.open('202002-baywheels-tripdata.csv')

df = pd.read_csv(csvfile)
df.to_csv('Ford02-2020.csv',index=False)

df2 = pd.read_csv('Ford02-2020.csv', dtype={'rental_access_method': object})
df2.head()
 

Образец данных из столбца 'rental_access_method'

 0    NaN
1    NaN
2    NaN
3    NaN
4    NaN
...
432349    app
432350    app
432351    app
432352    app
432353    app
Name: rental_access_method, dtype: object
 

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

1. Это предупреждение, а не ошибка. Предупреждение возникает с df = pd.read_csv(csvfile) , но не с df2 = pd.read_csv('Ford02-2020.csv', dtype={'rental_access_method': object}) . Также предупреждение не возникает с df = pd.read_csv(csvfile, low_memory=False) . Я голосую за то, чтобы закрыть это как невоспроизводимое.

2. Итак, почему он не отображается с другими 2 файлами, хотя я использовал тот же код, изменив только номера файлов?

3. Понятия не имею, потому что у меня нет других файлов. Однако NaN это float тип и app это string тип. Поэтому, когда создается фрейм данных, появляется предупреждение, потому что pandas не знает, как обращаться со столбцом с более чем одним типом данных.

4.s3.amazonaws.com/baywheels-data/…s3.amazonaws.com/baywheels-data /… Может быть, вы сможете взглянуть на них, если у вас будет немного времени

5. Все 3 файла имеют один и тот же смешанный тип данных в последнем столбце, который либо имеет 'app' , либо пуст. Пустое значение заменяется на NaN .