我正在尝试将列标题添加到我已使用Pandas解析为数据帧的csv文件中。
dfTrades = pd.read_csv('pnl1.txt',delim_whitespace=True,header=None,); dfTrades = dfTrades.drop(dfTrades.columns[[3,4,6,8,10,11,13,15,17,18,25,27,29,32]], axis=1) # Note: zero indexed dfTrades = dfTrades.set_index([dfTrades.index]); df = pd.DataFrame(dfTrades,columns=['TradeDate', 'TradeTime', 'CumPnL', 'DailyCumPnL', 'RealisedPnL', 'UnRealisedPnL', 'CCYCCY', 'CCYCCYPnLDaily', 'Position', 'CandleOpen', 'CandleHigh', 'CandleLow', 'CandleClose', 'CandleDir', 'CandleDirSwings', 'TradeAmount', 'Rate', 'PnL/Trade', 'Venue', 'OrderType', 'OrderID' 'Code']); print df
数据的结构为:
01/10/2015 05:47.3 190 190 -648 838 EURNOK -648 0 0 611 -1137 -648 H 2 -1000000 9.465 -648 INTERNAL IOC 287 AS
熊猫的回报是:
TradeDate TradeTime CumPnL DailyCumPnL RealisedPnL UnRealisedPnL \ 0 NaN NaN NaN NaN NaN NaN ...
我会很高兴就这个问题提出任何建议。
谢谢
附言 感谢Ed的回答。我已经尝试了您的建议
df = dfTrades.columns=['TradeDate', 'TradeTime', 'CumPnL', 'DailyCumPnL', 'RealisedPnL', 'UnRealisedPnL', 'CCYCCY', 'CCYCCYPnLDaily', 'Position', 'CandleOpen', 'CandleHigh', 'CandleLow', 'CandleClose', 'CandleDir', 'CandleDirSwings', 'TradeAmount', 'Rate', 'PnL/Trade', 'Venue', 'OrderType', 'OrderID' 'Code'];
但是现在问题变成了:
ValueError: Length mismatch: Expected axis has 22 elements, new values have 21 elements
我采用了矩阵的形状,并得到:dfTrades.shape
(12056, 22)
所以可悲的是我仍然需要一些帮助:(