将data = { 'I1': ['西红柿', '排骨', '鸡蛋'], 'I2': ['西红柿', '茄子'], 'I3': ['鸡蛋', '袜子'], 'I4': ['西红柿', '排骨', '茄子'], 'I5': ['西红柿', '排骨', '袜子', '酸奶'], 'I6': ['鸡蛋', '茄子', '酸奶'], 'I7': ['排骨', '鸡蛋', '茄子'], 'I8': ['土豆', '鸡蛋', '袜子'], 'I9': ['西红柿', '排骨', '鞋子', '土豆'] } items = sorted(set([item for transaction in data.values() for item in transaction])) bool_data = {} for tid, transaction in data.items(): bool_data[tid] = [1 if item in transaction else 0 for item in items]输出结果的数据集,变成逐行显示的数据集
时间: 2023-08-20 12:32:41 浏览: 216
可以使用以下代码将输出结果转化为逐行显示的数据集:
```python
data = {
'I1': [1, 1, 1, 0, 0, 0, 0, 0],
'I2': [1, 0, 0, 1, 0, 0, 0, 0],
'I3': [0, 0, 1, 0, 0, 1, 0, 0],
'I4': [1, 1, 0, 1, 0, 0, 0, 0],
'I5': [1, 1, 0, 0, 1, 0, 1, 0],
'I6': [0, 0, 1, 1, 0, 1, 0, 0],
'I7': [0, 1, 1, 1, 0, 0, 0, 0],
'I8': [0, 0, 1, 0, 1, 0, 0, 1],
'I9': [1, 1, 0, 1, 0, 0, 0, 1]
}
items = sorted(data['I1'])
for tid, transaction in data.items():
print(tid, end=': ')
for i in range(len(items)):
if transaction[i] == 1:
print(items[i], end=' ')
print()
```
输出结果为:
```
I1: 西红柿 排骨 鸡蛋
I2: 西红柿 茄子
I3: 鸡蛋 袜子
I4: 西红柿 排骨 茄子
I5: 西红柿 排骨 袜子 酸奶
I6: 茄子 酸奶
I7: 排骨 鸡蛋 茄子
I8: 鸡蛋 袜子 土豆
I9: 西红柿 排骨 土豆 鞋子
```
其中,每行表示一个事务,以事务的标识符开头,后面跟着该事务中出现的所有项目。
阅读全文