我想按dataframe2
列的顺序重新排列dataframe1
。根据另一个文件中的第一列对文件中的数据进行排序
Dataframe1:
N02_M N05_F N06_M N07_F N08_F N09_M N02_M N026_F N03_M
2237895 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225
586 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364
2255280 0.995 0.995 0.995 0.995 0.995 0.995 0.995 0.995 0.995
7294280 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478
7499 0.803 0.803 0.803 0.803 0.803 0.803 0.803 0.803 0.803
35209 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94
这里是数据帧2:
Dataframe2:
586
2237895
7499
35209
2255280
7294280
结果:
N02_M N05_F N06_M N07_F N08_F N09_M N02_M N026_F N03_M
586 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364 0.8364
2237895 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225 0.6225
7499 0.803 0.803 0.803 0.803 0.803 0.803 0.803 0.803 0.803
35209 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94 0.94
2255280 0.995 0.995 0.995 0.995 0.995 0.995 0.995 0.995 0.995
7294280 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478 0.8478
我试着命令awk的
'FNR==NR {x2[$1] = $0; next} $1 in x2 {print x2[$1]}' df2 df1
,但它不工作,它不会改变的df2
你的问题有点含糊。可以解释一点点?在结果中,“586”如何放置在第一行? – 989
结果中的顺序对我来说看起来是随机的 – Tung
我不明白你是如何得到结果的......结果显示了同样的6行,但顺序似乎不是来自第2个数据帧...后者只有2个值出现在第一个表格中(586和35209)。 –