【发布时间】:2017-02-16 04:49:47
【问题描述】:
我正在尝试使用列组合在 Pandas DataFrame 中创建一个新列。由于我不知道如何使用作为索引生成的组合,我尝试将组合转换为字符串,但这也不起作用。
import itertools as iter
def pset(lst):
comb = (iter.combinations(lst, l) for l in range(2,3))
return list(iter.chain.from_iterable(comb))
temp = pset(transactions)
t = str(temp[0]).strip(" ")
transactions[[t]]
这给我一个错误
KeyError: '["\'A\', \'B\'"] not in index'
这里 A 和 B 是我在数据框中的列。
transaction dataset:
A,B,C,D,E,F,G
1,0,1,1,0,1,1
1,1,1,1,0,1,0
1,0,0,1,0,1,0
0,0,1,1,1,0,0
1,0,0,1,1,1,0
0,1,1,1,1,1,1
Expected output Expected output:
A,B A,C A,D
1 2 4
【问题讨论】:
-
您在寻找 pd.MultiIndex.from_product() 吗?
-
我正在执行 apriori,我想创建一个组合同一数据帧的多个列(索引)的索引。
-
@YadyneshDesai - 你可以添加数据框样本:5 - 6 行和所需的输出吗?
-
@jezrael 我已经更新了问题。预期的输出只是我实际想要的一小部分。
-
谢谢,但我有点困惑 - 你认为所有列的组合
A, B, C, D, E, F, G吗?你能解释更多的数字1 ,2,4吗?
标签: python python-3.x pandas dataframe