我正在使用像
这样的框架function rot13(str) {
var reStr = "";
var asciiCodedArr = [70, 82, 69, 69, 32, 67, 79, 68, 69, 32, 67, 65, 77, 80];
reStr = String.fromCharCode.apply(null, asciiCodedArr);
return reStr;
}
console.log(rot13("SERR PBQR PNZC"));
我想操纵它,以便列是当前列的成对排列,例如所有列现在都是10个元素长,例如列' G1:G2'会有专栏' G2'附加到列' G1'。我附上了一张模拟照片。请注意,与上述示例代码不同,pic已命名索引。我可以使用或不使用索引。
我怎么能接近这个?我可以创建一个函数来对每一列进行操作,但我认为该函数必须返回通过与所有其他列连接而生成的数据帧。不确定那会是什么样子。
答案 0 :(得分:2)
答案 1 :(得分:1)
这是一种方法,虽然我怀疑可能还有一种方法可以直接在熊猫中做到这一点
error: function(er, err, error){
alert(error);
};
这是输出的一部分
为了避免创建列表并使用itertools.permutations是生成器的事实:
from itertools import permutations
'''Get all the column permutations'''
lst = [x for x in permutations(df.columns, 2)]
'''Create a list of columns names'''
names = [x[0]+'_'+x[1] for x in lst]
'''Create the new arrays by vertically stacking pairs of column values'''
cols = [np.vstack((df[x[0]].values,df[x[1]].values)).ravel() for x in lst]
'''Create a dictionary with column names as keys and the arrays as values'''
d = dict(zip(names, cols))
'''Create new dataframe from dict'''
df2 = pd.DataFrame(d)
df2
G1_G2 G1_G3 G1_G4 G1_G5 G2_G1 G2_G3 G2_G4 G2_G5 G3_G1 G3_G2 \
0 1.00 1.00 1.00 1.00 0.03 0.03 0.03 0.03 0.05 0.05
1 0.69 0.69 0.69 0.69 0.41 0.41 0.41 0.41 0.40 0.40
2 0.23 0.23 0.23 0.23 0.74 0.74 0.74 0.74 0.15 0.15
3 0.22 0.22 0.22 0.22 0.35 0.35 0.35 0.35 0.32 0.32
4 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0.62 0.19 0.19
5 0.03 0.05 0.30 0.40 1.00 0.05 0.30 0.40 1.00 0.03
6 0.41 0.40 0.20 0.36 0.69 0.40 0.20 0.36 0.69 0.41
7 0.74 0.15 0.51 0.88 0.23 0.15 0.51 0.88 0.23 0.74
8 0.35 0.32 0.70 0.10 0.22 0.32 0.70 0.10 0.22 0.35
9 0.62 0.19 0.67 0.19 0.62 0.19 0.67 0.19 0.62 0.62