我有一个熊猫数据框,其中包含以下列:
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
我想将每个索引添加到包含“食物”列中每一行的文件中,以便每个文件看起来像这样:“ 1,香蕉”,“ 2,葡萄”等。
这是我保存文件的方式:
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
答案 0 :(得分:1)
好像您需要平铺列表列,然后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