您好,我有两个DF(rateQualityOut和subsetOut):
“ rateQualityOut”是我创建的用于存储临时输出“ subsetOut”的空DF。想法是所有输出(一旦循环结束)都应存储在该DF中。
rateQualityOut[['pID', 'carry_dt','position', 'product_type' ,'positionLength']].loc[currLength:currLength+addLength,:]
pID carry_dt position product_type positionLength
0 NaN NaT NaN NaN NaN
1 NaN NaT NaN NaN NaN
2 NaN NaT NaN NaN NaN
3 NaN NaT NaN NaN NaN
4 NaN NaT NaN NaN NaN
5 NaN NaT NaN NaN NaN
和另一个具有临时输出的DF
subsetOut
subsetOut[['pID', 'carry_dt','position', 'product_type' ,'positionLength']]
pID carry_dt position product_type positionLength
2739 1 2018-11-01 CITI_52299G66_201210 Physical 5
2738 1 2018-11-02 CITI_52299G66_201210 Physical 5
2737 1 2018-11-05 CITI_52299G66_201210 Physical 5
2736 1 2018-11-06 CITI_52299G66_201210 Physical 5
2735 1 2018-11-07 CITI_52299G66_201210 Physical 5
我正在将临时输出“ subsetOut”存储到“ rateQualityOut”中。而我过去所做的只是简单地做到这一点:
rateQualityOut.loc[currLength:currLength+addLength,:] = subsetOut
但是,它似乎没有按计划工作。输出显示NaN未按预期填充。
pID carry_dt position product_type positionLength
0 NaN NaT NaN NaN NaN
1 NaN NaT NaN NaN NaN
2 NaN NaT NaN NaN NaN
3 NaN NaT NaN NaN NaN
4 NaN NaT NaN NaN NaN
5 NaN NaT NaN NaN NaN
请问我有什么建议吗?非常感谢
答案 0 :(得分:2)
通常,在每次迭代中不将subsetOut放入rateQualityOut更容易,更快捷。相反,您可以将这些子集存储到列表中,并在最后将它们连接起来:
import pandas as pd
rateQualityOut = [] #Make a list
for i in someIterator:
#do something here
rateQualityOut.append(subsetOut)
rateQualityOut = pd.concat(rateQualityOut)