Python 限制在pd.read_table()上导入的列

Python 限制在pd.read_table()上导入的列,python,pandas,Python,Pandas,我有一个很大的数据集,其中shape=(184215,82) 在82列中。为了节省内存,我只想导入select 6,因为我需要内部连接并对数据进行一些分析 有没有办法限制在pd.read_table()上创建的列,或者有没有办法在事件发生后删除不必要的列?(该文件是CSV,没有列标题,我必须在事后创建列名 例如,下面是82列的列表: ['COBDate' 'structRefID' 'transactionID' 'tradeID' 'tradeLegID' 'tradeVersion' 'b

我有一个很大的数据集,其中shape=(184215,82)

在82列中。为了节省内存,我只想导入select 6,因为我需要内部连接并对数据进行一些分析

有没有办法限制在pd.read_table()上创建的列,或者有没有办法在事件发生后删除不必要的列?(该文件是CSV,没有列标题,我必须在事后创建列名

例如,下面是82列的列表:

['COBDate' 'structRefID' 'transactionID' 'tradeID' 'tradeLegID'
 'tradeVersion' 'baseCptyID' 'extCptyID' 'extLongName' 'portfolio'
 'productClass' 'productGroup' 'productType' 'RIC' 'CUSIP' 'ISIN' 'SEDOL'
 'underlyingCurrency' 'foreignCurrency' 'notional' 'notionalCCY' 'quantity'
 'MTM' 'tradeDate' 'startDate' 'expiryDate' 'optExerciseType'
 'settlementDate' 'settlementType' 'payoff' 'buySell' 'strike' 'rate'
 'spread' 'rateType' 'paymentFreq' 'resetFreq' 'modelUsed' 'sentWSS'
 'Multiplier' 'PayoutCCY' 'Comments' 'TraderCode' 'AsnOptionStyle'
 'BarrierDirection' 'BarrierMonitoringFreq' 'DayCountConv'
 'SingleBarrierLevel' 'DownBarrierLevel' 'DownRebateAmount'
 'UpBarrierLevel' 'UpRebateAmount' 'IsOptionOnFwd' 'NDFixingDate'
 'NDFixingPage' 'NDFixingRate' 'PayoutAmount' 'Underlying' 'WSSID'
 'WindowEndDate' 'WindowStartDate' 'InstrumentID' 'EffectiveDate' 'CallPut'
 'IsCallable' 'IsExchTraded' 'IsRepay' 'MutualPutDate' 'OptionExpiryStyle'
 'IndexTerm' 'PremiumSettlementDate' 'PremiumCcy' 'PremiumAmount'
 'ExecutionDateTime' 'FlexIndexFlag' 'NotionalPrincipal' 'r_Premium'
 'cpty_type' 'IBTSSID' 'PackageID' 'Component' 'Schema' 'pandas_index']
我只想以以下6项为例:

'COBDate' 'baseCptyID' 'extCptyID' 'portfolio' 'strike' 'rate'
 'spread'

对于没有列标题的csv:

pd.read_table(usecols=[0, 1, 2])
其中
[0,1,2]
是必须读取的列号

如果csv包含列标题,您还可以按名称指定它们:

cols_to_read = ['COBDate', 'baseCptyID', 'extCptyID', 'portfolio', 'strike', 'rate', 'spread']
pd.read_table(usecols=cols_to_read)

我在执行此操作时遇到了一个异常:ValueError:传递的名称数与文件中的头字段数不匹配…正在尝试对whydata=pd.read_表进行故障排除('data/xtrader\u risk\u vgr\u trade\u 2.txt',sep='|',skipfooter=1,skiprows=1,names=cols,usecols=cols\u to_read,engine='python'))