我的熊猫数据框看起来像(空白交易ID属于ID 1或ID 2):
df = pd.DataFrame(data=np.array([['1', 'Item1'], ['', 'Item2',], ['', 'Item3'] , ['2', 'Item1'], ['', 'Item2',]]), columns=['TransactionId', 'ProdictName'])
我正在寻找解决方案,如何将df转换为没有空白事务ID的新df1,并且项目之间用逗号分隔:
df1 = pd.DataFrame(data=np.array([['1', 'Item1, Item2, Item3'], ['2', 'Item1, Item2']]), columns=['TransactionId', 'ProdictName'])
谢谢
您可以使用df.replace
,df.ffill()
并df.groupby
具有df.groupby.agg
:
In [15]: df.TransactionId = df.TransactionId.replace('', np.nan)
In [19]: df.TransactionId = df.TransactionId.ffill()
In [21]: df1 = df.groupby('TransactionId', as_index=False).agg(','.join)
In [22]: df1
Out[22]:
TransactionId ProdictName
0 1 Item1,Item2,Item3
1 2 Item1,Item2
按照@sammywemmy的一线:
In [26]: df.replace("", method="ffill").groupby("TransactionId", as_index=False).agg(",".join)
Out[26]:
TransactionId ProdictName
0 1 Item1,Item2,Item3
1 2 Item1,Item2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句