[英]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.