将每一行保存到具有唯一索引的文件中,并将值映射到索引中



我有一个pandas数据帧,包含以下列:

Food:      Shoppers:                           Index:
Banana     Customer A                               1
Grape      Customer B                               2
Apple      Customer B                               3
Vanilla    ['Customer D', 'Customer A']             4
Berries    Customer C                               5
Lemon      ['Customer F','Customer A','Customer B'] 6
Nuts       Customer C                               7

我想将每个索引添加到一个文件中,该文件包含"Food"列中的每一行,因此每个文件看起来如下:"1,Banana"、"2,Grape"等。

这就是我保存文件的方式:

i = 0
for row in new_dataframe.values:
file_title = '/Users/xxxx/Desktop/xx/xxx/xxxx/shopping/document{}.txt'.format(i)
row.tofile(file_title, sep=",", format="%s")
i += 1

之后,我想使用相同的索引来计算购物者的清单上是否有商品,我可以将其保存到另一个文件中。重要的是索引保持不变,这样我以后就可以将其映射回来。

文件应该看起来像这样:

Customer A, 1, 4, 6
Customer B, 2, 3, 6
Customer C, 5, 7

似乎您需要压平您的列表列,然后groupby

df.set_index('Index').Shoppers.apply(pd.Series).stack().reset_index().groupby(0)['Index'].agg(lambda x : ','.join(x.astype(str)))
Out[300]: 
0
CustomerA    1,4,6
CustomerB    2,3,6
CustomerC      5,7
CustomerD        4
CustomerF        6
Name: Index, dtype: object

最新更新