Xmat <- model.matrix(~x + x:z, data=mydata)
Xmat <- Xmat[,-(colnames(Xmat)=="x")]
mod <- lm.2(~x + x:z, data=mydata, Xmat=Xmat, response=mydata$y)
以上是我的最终输出。以下是我的排序代码-
A B C D E
----------------------------------------------------------
85 0 0 0 0
399 0 0 0 0
35 0 0 0 0
206 0 0 0 0
24 0 0 0 9
341 0 0 1 0
6 0 0 4 0
19 0 0 4 0
21 6 0 6 0
3 7 1 4 2
170 0 2 0 0
150 0 2 0 0
216 0 2 1 0
336 0 2 4 0
2 0 2 4 0
6 0 3 0 0
53 0 3 0 0
40 0 3 0 0
23 0 3 1 0
我的数据已按df= df.sort_values(by=['C', 'D', 'E', 'B', 'A'], ascending=[True, True, True, True, False])
正确排序,但是最后的A排序非常不正确。为什么没有正确排序?
答案 0 :(得分:4)
顺序6, 53, 40
建议A
列包含字符串,而不是整数。因此,它是按字典顺序而不是按数字排序。
尝试
df['A'] = df['A'].astype(int)
然后再次尝试排序。
如果相关,请确保也将所有其他列也转换为整数,否则在处理具有2个或更多数字的“数字”时会遇到相同的问题。