#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
.