Python 将数据帧转换为元组列表

Python 将数据帧转换为元组列表,python,pandas,Python,Pandas,我将.xlsx文件解析为数据帧,并希望转换为元组列表。熊猫数据框有两列 元组列表需要产品标识与事务标识分组。我看到了一个关于创建一个pandas dataframe到元组列表的例子,但是代码结果用transaction\u id分组用`product\u id分组 如何在页面底部获得所需格式的元组列表 import pandas as pd import xlrd #Import data trans = pd.ExcelFile('/Users/Transactions.xlsx') #pa

我将
.xlsx
文件解析为
数据帧
,并希望转换为元组列表。熊猫数据框有两列

元组列表需要
产品标识
事务标识
分组。我看到了一个关于创建一个
pandas dataframe
到元组列表的例子,但是代码结果用
transaction\u id分组
用`product\u id分组

如何在页面底部获得所需格式的元组列表

import pandas as pd
import xlrd 
#Import data
trans = pd.ExcelFile('/Users/Transactions.xlsx')
#parse xlsx file into dataframe
transdata = trans.parse('Orders')
#view dataframe
#print transdata

   transaction_id  product_id
0           20001       48165
1           20001       48162
2           20001       48166
3           20004       48815
4           20005       48165

transdata = trans.parse('Orders')
#Create tuple
trans_set = [tuple(x) for x in subset.values]
print trans_set

[(20001, (48165), (20001, 48162), (20001, 48166), (20004, 48815), (20005, 48165)]

Desired Result:

[(20001, [48165, 48162, 48166]), (20004, 48815), (20005, 48165)]
这与您期望的结果稍有不同——例如,请注意
(20004,[48815])
,但我认为它更为一致。每个元组中的第二项是与
事务id
关联的所有
产品id
的列表。它可能只包含一个元素,但它始终是一个列表


要将trans_集写入CSV,可以使用:

生成一个文件,
/tmp/data.csv
,其中包含以下内容:

20001,48165,48162,48166
20004,48815
20005,48165

请问一个新问题。显示您当前拥有的数据帧和所需的CSV格式。抱歉@unutbu我是python新用户,引用了错误的数据类型。您的结果给出了一个元组列表,如何保存为.csv?csv应该是什么样子?例如,
(20,[1,2,3])
应该变成
“20,1,2,3”
还是
“20,[1,2,3]”
或其他什么?我想“20,1,2,3”我已经发布了我看到的结果。这不是你得到的吗?如果没有,请发布重现问题的数据和代码。
import csv
with open('/tmp/data.csv', 'wb') as f:
    writer = csv.writer(f)
    for key, grp in trans_set:
        writer.writerow([key]+grp)
20001,48165,48162,48166
20004,48815
20005,48165