Python重塑datafram

2024-04-18 03:58:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题重塑我的数据帧,其中包含购物历史的人。你知道吗

d = {'0': ["cars", "clothes","food"], '1': ["electronics", "food","food"]} df = pd.DataFrame(data=d)

现在我想创建一个新的dataframe,其中每一行包含最后一个感兴趣的类别,新的一个包含两列的dataframe如下所示:

d = {'0': ["cars", "clothes"],'1':["clothes","food"] '2': ["electronics", "food"],'3':["food","food"]} df = pd.DataFrame(data=d)

我可以用for循环来实现这一点,但是由于我有一个大的数据集,这需要很长时间。有没有更快的办法?你知道吗

`

#create pairs from each path
totalArr = list()
for pa in dataset['channel']:
   newArr = list()
    for ind,chan in enumerate(pa):
        maxlen = len(pa)
        if(ind < maxlen-1):
            newArr.append([pa[ind],pa[ind+1]])
    totalArr.append(newArr)

fromToDf = pd.DataFrame(columns=['from','to'])

for a in totalArr:
    for b in a:
        fromToDf= fromToDf.append(pd.DataFrame(data={'from':[str(b[0])],'to':[str(b[1])]}))

`


Tags: 数据infromdataframefordatafoodpd