我正在尝试将数据框中的值设置为来自单独数据框中的值。当源列是字符串但整数列未被复制或引发错误时,此方法很好用。
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)
答案 0 :(得分:0)
我在尝试重新创建它时解决了我的问题(我想我学到了一个不错的策略!)
问题出在我减速数据帧时,我传递的是columns=tradesDf.columns
而不是columns=tradesDf.columns.values
。
我很高兴将其修复,但是有人知道为什么这会导致DF不设置整数值而是设置字符串值吗?
答案 1 :(得分:0)
我无法重现该错误,它对float64和int64均有效。
我猜这个问题可能是索引编制错误,因为第1行将创建一个所有值为NaN的DF。