Python 2.7 提取数据帧中列名的组合

Python 2.7 提取数据帧中列名的组合,python-2.7,pandas,Python 2.7,Pandas,我有一个数据框,列为“flow1,flow2,flow3” 我需要从列中提取不同的顺序 df1 = pd.read_csv("Desktop/lab9/cleaning1/1160/flow.tsv", sep = "\t", header = None, na_values=[" "]) df1.columns = ['flow1', 'flow2', 'flow3'] for p in permutations(df1.columns, 3): print p 这是给我的 ('fl

我有一个数据框,列为“flow1,flow2,flow3” 我需要从列中提取不同的顺序

df1 = pd.read_csv("Desktop/lab9/cleaning1/1160/flow.tsv", sep = "\t", header = None, na_values=[" "])
df1.columns = ['flow1', 'flow2', 'flow3']
for p in permutations(df1.columns, 3):
    print p
这是给我的

('flow1', 'flow2', 'flow3')
('flow1', 'flow3', 'flow2')
('flow2', 'flow1', 'flow3')
('flow2', 'flow3', 'flow1')
('flow3', 'flow1', 'flow2')
('flow3', 'flow2', 'flow1')
但我只需要:

('flow1', 'flow2', 'flow3')
('flow1', 'flow3', 'flow2')
('flow2', 'flow3', 'flow1')

你弄错了数学运算符


使用itertools导入组合中的
,而不是
置换

您误解了数学运算符


使用itertools导入组合中的
而不是
排列

有什么理由不需要其他组合吗?从3个替换方案中选择时,总的唯一排列为3!=6,正如函数
置换
给出的那样。你为什么只想要那三个?你为什么不需要其他的?从3个替换方案中选择时,总的唯一排列为3!=6,正如函数
置换
给出的那样。你为什么只想要这三个呢?你可以包括:-
[t+tuple(set(df1.columns)-set(t)),用于t的组合(df1.columns,2)]
。你可以包括:-
[t+tuple(set(df1.columns)-set(t)),用于t的组合(df1.columns,2)]