У меня есть эти столбцы:Python Pandas DtypeWarning Укажите опцию dtype при импорте - Как?
['Campaign', 'Ad group', 'Keyword', 'Status', 'Match type', 'Max. CPC', 'Quality score', 'Impressions', 'Clicks', 'CTR', 'Avg. CPC', 'Cost', 'Avg. position', 'Converted clicks', 'Click conversion rate', 'Cost/converted click', 'Bounce rate', 'Pages/session', 'Avg. session duration (seconds)', '% new sessions']
Ошибка я получаю говорит:
Warning (from warnings module):
File "C:\Python34\lib\site-packages\pandas\io\parsers.py", line 1164
data = self._reader.read(nrows)
DtypeWarning: Columns (5) have mixed types. Specify dtype option on import or set low_memory=False.
Что означает Columns (5)
часть означает? Это позиция столбца? Делает ли Campaign
начало столбца в позиции 0 или 1?
Кроме того, я подозреваю, что эта ошибка связана с тем, что мой столбец Max. CPC
имеет ' --'
в нескольких областях вместо нулей. Я хочу, чтобы этот тип данных столбца был плавающим. Как перевести эти ' --'
на 0.00
, а также установить этот столбец как тип данных с плавающей точкой при чтении CSV?
Я пробовал:
import pandas as pd
import numpy as np
df = pd.read_csv('file.csv', dtype={'Max. CPC': pd.np.float64})
print(df.head())
Но получить ValueError:
ValueError: could not convert string to float: ' --'
Вы можете пройти 'na_values = ['-'] 'это преобразует эти значения в' naN', а затем dtype будет плавать или заменять эти значения после загрузки до 0.00, а затем dtype столбца woul d быть float, так как для вашей ошибки столбцов вам нужно будет отправить исходный ввод, чтобы мы могли воспроизвести вашу ошибку. – EdChum
@EdChum Спасибо. Я не знал о na_values. В read_csv так много параметров. Спасибо, что помогли мне в моем учебном задании. В случае, если кто-то заинтересован, это моя последняя строка для ясности: 'df = pd.read_csv ('file.csv', na_values = ['-'], dtype = {'Max CPC': pd.np. float64}) ' – Jarad
Единственное, что здесь,' NaN' - это не то, что вы хотели, но вы могли бы называть 'fillna' после чтения csv, чтобы установить значения 0.00, это предполагает, что вы хотите, чтобы все' NaN' были установлены на 0.00, в том числе, возможно, любые значения «NaN», которые изначально присутствовали в csv – EdChum