Python 复制数据帧中的行
我试图找到一种简单的方法来分解以下数据帧:Python 复制数据帧中的行,python,pandas,Python,Pandas,我试图找到一种简单的方法来分解以下数据帧: COL_A COL_B COL_C COL_D VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 到 让我们使用pd.concat,str.split和fillna: pd.concat([df,df.COL_D.str.split('|',expand=True).T],axis=1).rename(columns={0:'COL_Y'}).fillna(method='ffill') 输出: COL_A COL_
COL_A COL_B COL_C COL_D
VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3
到
让我们使用
pd.concat
,str.split
和fillna
:
pd.concat([df,df.COL_D.str.split('|',expand=True).T],axis=1).rename(columns={0:'COL_Y'}).fillna(method='ffill')
输出:
COL_A COL_B COL_C COL_D COL_Y
0 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER1
1 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER2
2 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER3
希望链接有助于这看起来很有希望,但我得到了520000行左右的MemoryError。内存密集吗?不是非常密集,您的行可能会因为数据而爆炸。我甚至将其缩减为:索引80 RO_编号4104184 VIN 4104184提供4104184数据类型:int64,并且我仍然获得内存丰富的memoryError
COL_A COL_B COL_C COL_D COL_Y
0 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER1
1 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER2
2 VAL1 VAL2 VAL3 OFFER1|OFFER2|OFFER3 OFFER3