簡體   English   中英

在Python中從CSV刪除列

[英]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指定列類型。 如果不確定類型,請使用objectstr 這是一個例子:

df = pd.read_csv('D:\\foo.csv', header=0, dtype={'currency':str, 'v1':object, 'v2':object})

使用read_csv的鏈接

這是您可以指定的所有類型的列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM