我已將 CSV 檔案讀入 Jupyter Notebook,我正在嘗試洗掉我不會使用的冗余列。我正在使用 drop() 方法,但它給了我一個 NameError!我確定這些列存在,我覺得我在這里遺漏了一些明顯的東西,但我似乎無法弄清楚。
所以這是我到目前為止的代碼:
#Calling Libraries
import os # File management
import pandas as pd # Data frame manipulation
import numpy as np # Data frame operations
import datetime as dt # Date operations
import seaborn as sns # Data Viz
flight_df=pd.read_csv(r'C:\Users\pc\Desktop\Work\flights.csv')
# removing na rows
flight_df.dropna()
# dropping redundant columns
newdf=flight_df.drop([O_COUNTRY,O_LATITUDE,O_LONGITUDE,D_COUNTRY,D_LATITUDE,D_LONGITUDE,SCHEDULED_DEPARTURE,DIVERTED,CANCELLED,CANCELLATION_REASON,TAXI_OUT,TAXI_IN,WHEELS_OFF, WHEELS_ON,SCHEDULED_ARRIVAL],axis=1, inplace = True)
拋出此錯誤:
NameError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15328/4119461383.py in 2 flight_df.dropna() 3 # 洗掉冗余列 newdf=flight_df.drop([O_COUNTRY,O_LATITUDE,O_LONGITUDE,D_COUNTRY,D_LATITUDE,D_LONGITUDE,SCHEDULED_DEPARTURE,DIVERTED,CANCELLED, CANCELLATION_REASON,TAXI_OUT,TAXI_IN,WHEELS_OFF, WHEELS_ON,SCHEDULED_ARRIVAL],axis=1, inplace = True)
NameError: name 'O_COUNTRY' is not defined
我試圖改為定義我想要保留的那些,但它給了我同樣的錯誤
uj5u.com熱心網友回復:
在這種情況下,由于列名str,您必須將它們括在str分隔符中
newdf=flight_df.drop(['O_COUNTRY','O_LATITUDE','O_LONGITUDE','D_COUNTRY' ...
警告 !您正在使用該屬性inplace=True,但您嘗試將結果分配給一個新變數。這個變數將是None。要么寫
flight_df.drop(['O_COUNTRY', ...],axis=1,inplace=True)
要么
newdf=flight_df.drop(['O_COUNTRY', ...],axis=1)
你的 dropna 也一樣。它不會在您撰寫時存盤。
uj5u.com熱心網友回復:
我認為您只想在列名周圍加上引號。你現在這樣做的方式 Python 期望有一個名為O_COUNTRY.
uj5u.com熱心網友回復:
你試過改寫 o_country 嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455748.html
下一篇:資料框。將字串從X拆分為列值
