Pandas Dataframe列将设置为字符串,但不能设置为整数

时间:2018-12-31 03:10:06

标签: python pandas dataframe

我正在尝试将数据框中的值设置为来自单独数据框中的值。当源列是字符串但整数列未被复制或引发错误时,此方法很好用。

RentryDf=pd.DataFrame(index=tportDf.index.values,columns=tradesDf.columns)        
RentryDf.loc[:,'TRADER']=tportDf.loc[:,'TRADER']
RentryDf.loc[:,'CONTRACT_VOL']=tportDf.loc[:,'DELIVERY VOLUME']

第二行设置交易者的字符串名称没有问题,但第三行保持NaN。我已经尝试了两行代码,只是看看它们是否可以工作,甚至不能工作。

RentryDf.loc[:,'CONTRACT_VOL']=11
RentryDf.loc[:,'CONTRACT_VOL'].apply(lambda x: 11)

2 个答案:

答案 0 :(得分:0)

我在尝试重新创建它时解决了我的问题(我想我学到了一个不错的策略!)

问题出在我减速数据帧时,我传递的是columns=tradesDf.columns而不是columns=tradesDf.columns.values

我很高兴将其修复,但是有人知道为什么这会导致DF不设置整数值而是设置字符串值吗?

答案 1 :(得分:0)

我无法重现该错误,它对float64和int64均有效。

我猜这个问题可能是索引编制错误,因为第1行将创建一个所有值为NaN的DF。