我有一个小任务,我正在努力。所以基本上我们必须从TSV文件中读取列并将列的所有可能子集导出到CSV。在导出之前,我们必须清理代码(删除除。,空格之外的特殊字符。)
我遇到了这个子集代码,但我不确定如何在我的要求中使用它:
import pandas as pd
from itertools import chain, combinations
def all_subsets(ss):
return chain(*map(lambda x: combinations(ss,x), range(0, len(ss) + 1)))
subsets = all_subsets([1, 2, 3, 4])
for subset in subsets:
print(subset)
答案 0 :(得分:2)
我认为需要按子集,进程选择列并写入文件:
df = pd.read_table(file)
#clean DataFrame by regex
#return list of all comprination of columns names
subsets = all_subsets(df.columns)
for subset in subsets:
df1 = df[list(subset)]
#join values of tuples to files names
df1.to_csv('_'.join(subset) + '.csv', index=False)
编辑:
要将列acm_classification
添加到Dataframe
,请使用:
df = pd.read_table('xa.tsv')
print (df.head())
def all_subsets(ss):
return chain(*map(lambda x: combinations(ss,x), range(0, len(ss) + 1)))
cols = [x for x in df.columns if not x == 'acm_classification']
subsets = all_subsets(cols)
#print (subsets)
for subset in subsets:
#filter subsets
if len(subset) > 1:
df1 = df[list(subset) + ['acm_classification']]
# print (df1)
df1.to_csv('_'.join(subset) + '.csv', index=False)
答案 1 :(得分:2)
IIUC:
global.css
答案 2 :(得分:2)
cat $TMPDIR/*.filtered > $TMPDIR/tmp_pagecounts-${_date}
echo '\ufeff' > $TMPDIR/pagecounts-${_date}
cat $TMPDIR/tmp_pagecounts-${_date} | sort >> $TMPDIR/pagecounts-${_date}
事物的总2 ** n
组合。我将使用这样一个事实:n
事物的每个组合都可以通过n
或1
在从0
到{的每个数字的二进制表示中表示。 {1}}。
0
2 ** n - 1