gpt4 book ai didi

python - 仅对 20 列的数据框中的 2 列进行排序

转载 作者:行者123 更新时间:2023-12-01 07:18:40 25 4
gpt4 key购买 nike

我在 5 行组(数据框)中有 20 列。我想强制仅对 2 列进行排序,并保持其他列不变。

我尝试过使用

group2['Col1','Col2'] = group2['Col1','Col2'].sort_values(by=['Col2']) 

它产生错误

return self._engine.get_loc(self._maybe_cast_indexer(key))

File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc

File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc

File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item

File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item

KeyError: ('col1', 'col2')

输入和所需的输出是:

enter image description here

最佳答案

通过 double [] 创建子集并分配回 numpy 数组:

group2 = pd.DataFrame({
'Col1':list('nyynny'),
'Col2':[1,3,5,7,2,0],
'Col3':[4,5,4,5,5,4],
'Col4':[7,8,9,4,2,3],
'Col5':[5,3,6,9,2,4],
'Col6':list('aaabbb')
})
group2[['Col1','Col2']] = group2[['Col1','Col2']].apply(np.sort).values
print (group2)
Col1 Col2 Col3 Col4 Col5 Col6
0 n 0 4 7 5 a
1 n 1 5 8 3 a
2 n 2 4 9 6 a
3 y 3 5 4 9 b
4 y 5 5 2 2 b
5 y 7 4 3 4 b

关于python - 仅对 20 列的数据框中的 2 列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57816825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com