2
Вот часть моих данных:Python & Панда: Невозможно удалить столбцы
USAF, NCDC, Date, HrMn, I, Type, QCP, Dir, Q, I, Spd, Q,
034820,99999,19490801,0000,4, SAO, ,270,1,N, 5.7,1,
034820,99999,19490801,0100,4, SAO, ,270,1,N, 4.6,1,
034820,99999,19490801,0200,4, SAO, ,270,1,N, 4.6,1,
034820,99999,19490801,0300,4, SAO, ,270,1,N, 4.6,1,
034820,99999,19490801,0400,4, SAO, ,270,1,N, 6.7,1,
034820,99999,19490801,0500,4, SAO, ,270,1,N, 8.7,1,
034820,99999,19490801,0600,4, SAO, ,270,1,N, 8.2,1,
034820,99999,19490801,0700,4, SAO, ,270,1,N, 8.2,1,
Я пытаюсь сбросить данные, но она сообщает некоторые колонки не существует.
ipath= "C:\Users\Administrator\Desktop\科研风速数据资料\Marham\\marham.txt"
uipath = unicode(ipath , "utf8")
file2 = open(uipath)
df = pd.read_csv(uipath,header=0)
# I can drop USAF, but unable to drop NCDC, I, Q,
df.drop(['USAF', 'NCDC'], 1,inplace=True)
df.describe()
Доклады:
ValueError: labels ['NCDC'] not contained in axis
Так что же случилось с моим кодом? Раньше я хорошо использовал df.drop(['a', 'b', 'c'], 1,inplace=True)
.
UPDATE:
df.columns.tolist()
['USAF',
' NCDC',
' Date',
' HrMn',
' I',
' Type',
' QCP',
' Dir',
' Q',
' I.1',
' Spd',
' Q',
' ']
можете ли вы пост из put from 'df.columns.tolist()' – EdChum
@tom, это возможно, но я не знаю, как с этим бороться. В моем предыдущем опыте работы с пандами он автоматически превращает второй 'Q' в' Q.1' при чтении данных. Однако в моем случае это не удалось, и я не знаю, почему. Однако это не может «отбросить» NCDC. – cqcn1991
Разделитель по умолчанию - это запятая '', '' в 'read_csv', поэтому ваши пробелы в вашем csv теперь являются частью вашего столбца и данных. – EdChum