我有一个dtype objects 的数据框列,该列无法正确排序。由于存在字符串的可能,我需要它保持对象,在示例中为Load
。
索引6行中的对象看起来完全相同,但未与其余对象排序。如果我将列转换为 string 类型,则会在{em> column1 中每个对象的末尾添加一个.0
,但 Index 6行中的对象除外。我无法转换为 int ,因为我需要保留 strings 。如何解决排序问题?谢谢。
编辑:
发现了问题- 10是 string 对象。
例如:
Index column1
0 10
1 10
2 11
3 11
4 11
5 11
6 10
7 Load
答案 0 :(得分:0)
将要排序的数据框df
的所有元素更改为数字类型,然后获取排序索引,然后使用这些索引对原始序列进行重新排序
import pandas as pd
inds = (pd.to_numeric(df['column1']))).argsort() # use these indices to sort original df
这不应修改原始数据框的dtype。