[英]Deleting Columns from a CSV in Python
我知道有人問過類似的問題,但是找不到與我遇到的錯誤有關的任何問題(盡管我很抱歉,如果我錯過了什么!)。 我試圖從CSV中刪除一些不會在Excel中加載的列,因此我不能只在文件中刪除它們。 我有以下代碼:
import os
import pandas as pd
os.chdir(r"C:\Users\maria\Desktop\Project\North American Breeding Bird Survey")
data = pd.read_csv("NABBSStateData.csv")
data.drop(["CountryNum", "Route", "RPID"], axis = 1, inplace = True)
但是當我運行它時,出現以下錯誤消息:
c:\program files (x86)\microsoft visual studio\2019\professional\common7\ide\extensions\microsoft\python\core\Packages\ptvsd\_vendored\pydevd\pydevd.py:1664: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11,12,13) have mixed types. Specify dtype option on import or set low_memory=False.
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
我是python / visual studio的新手,我很難弄清楚此錯誤消息在說什么以及如何解決。 謝謝!!
編輯:有問題的CSV是來自此站點的狀態文件串聯在一起,因此您可以打開一個狀態文件以查看列/數據類型。
看起來您的某些列中混合了數據類型(例如,列0、1、2、3、4、5、6、7、8、9、10、11、12、13)。 混合數據類型意味着在一列(例如列“ a”)中,大多數行是數字,但某些行中也可能包含字符串。
嘗試使用dtype
選項從pd.read_csv
指定列類型。 如果不確定類型,請使用object
或str
。 這是一個例子:
df = pd.read_csv('D:\\foo.csv', header=0, dtype={'currency':str, 'v1':object, 'v2':object})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.