我有一个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