我在三个数据帧上进行concat,代码如下:
df_bigram = pd.concat([bigramFreqTable, skipgram, df2],axis=1)
df_bigram
df_bigram的输出为
bigramf freq Skipgram Freq bigram PMI
0 (Asam, deoksiribonukleat,) 1 (unting, DNA) 22 (12, Å.) 11.487338
1 (deoksiribonukleat,, lebih) 1 (DNA, unting) 22 (22, Å,) 11.487338
2 (lebih, dikenal) 1 (DNA, yang) 20 (220, juta) 11.487338
3 (dikenal, dengan) 2 (yang, DNA) 20 (34, ÅngströmÅ) 11.487338
4 (dengan, singkatan) 1 (DNA, dalam) 13 (A-DNA,, B-DNA,) 11.487338
5 (singkatan, DNA) 1 (dalam, DNA) 13 (Akibatnya,, protein-protein) 11.487338
6 (DNA, ,) 2 (pasangan, basa) 11 (Alec, Jeffreys) 11.487338
7 (,, adalah) 1 (basa, pasangan) 11 (Alfred, HersheyHershey) 11.487338
8 (adalah, sejenis) 1 (terdiri, dari) 10 (Asam, deoksiribonukleat,) 11.487338
9 (sejenis, biomolekul) 1 (dari, terdiri) 10 (Bacillus, subtilis) 11.487338
10 (biomolekul, yang) 1 (pada, DNA) 10 (Banyak, yurisdiksi) 11.487338
... ... ... ... ... ... ...
问题是我想按降序值对“freq”进行排序。我只是搞不懂为什么其他列名像'Freq'和'PMI'是按降序排列的,而'Freq'却没有。因此,我将此编码用于排序:
x = df_bigram.sort_values(by='freq', ascending=False)
x
输出结果如下所示:
bigramf freq Skipgram Freq bigram PMI
72 (unting, DNA) 17 (hidrogen, ikatan) 5 (ditranskripsikan., Para) 11.487338
212 (DNA, yang) 15 (satu, pada) 3 (Temperatur, lebur) 10.487338
136 (pasangan, basa) 10 (dalam, ===) 4 (myeloid, akut.) 11.487338
83 (yang, disebut) 9 (rantai, Proses) 5 (gen., Sedangkan) 11.487338
432 (disebut, sebagai) 9 (unting, disebut) 2 (sama., Karenanya,) 9.902375
58 (terdiri, dari) 9 (DNA, memiliki) 6 (darah,, sperma,) 11.487338
525 (Hal, ini) 8 (disebut, satu) 2 (resisten, terhadap) 9.487338
888 (heliks, ganda) 7 (tergulung, lebih) 2 (banyak, kemungkinan) 7.902375
657 (rantai, DNA) 7 (Diplonema, dan) 2 (sebuah, cara) 8.902375
... ... ... ... ... ... ...
实际上,我想按降序值对所有列名进行排序,如'freq','freq','PMI'。我做错了什么
我认为这可以通过如下方式使用原始dataframe列重新编制索引来纠正:
如果您想按单列排序,那么您上面实现的是正确的。但如果要按多列排序,则可以尝试:
注意:-按多列排序时,sort_value()首先使用第一个变量,然后使用第二个变量
问题是,如果无法在最终联接列中进行排序,则只能对} 和
bigram
的列和freq
进行排序,可能的解决方案是首先排序,主要通过^{drop=True
创建默认索引:相关问题 更多 >
编程相关推荐