即使是df中的列是int。。它像字符串一样被排序,或者以一种奇怪的方式被排序
n_frames video img
-----------------------------
1 Videos482 1.jpg
10 Videos482 2g.jpg
11 Videos482 2d.jpg
2 Videos482 1q.jpg
1 Videos484 234.jpg
100 Videos484 34.jpg
我想要的是:查看n\u frames列
n_frames video img
-----------------------------
1 Videos482 1.jpg
2 Videos482 1t.jpg
10 Videos482 2g.jpg
11 Videos482 1q.jpg
1 Videos484 234.jpg
100 Videos484 34.jpg
当我选中df.dtypes
时,我得到:
n_frames int32
我的代码:
print(df.dtypes)
df = df.groupby('video')
df.apply(lambda _df: _df.sort_values(by=['n_frames']))
df.apply(lambda _df: _df.to_csv("rubbish.csv", index=False ))
基本上是这样。我想按视频分组,保持n\u帧的递增顺序。 上层数据是原始数据的小形式。 原创>
n_frames,trainTest,classes,vdo_noext,img
1,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 1.jpg
10,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 10.jpg
100,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 100.jpg
101,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 101.jpg
102,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 102.jpg
103,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 103.jpg
104,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 104.jpg
105,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 105.jpg
106,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 106.jpg
107,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 107.jpg
108,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 108.jpg
109,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 109.jpg
11,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 11.jpg
110,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 110.jpg
111,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 111.jpg
112,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 112.jpg
113,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 113.jpg
114,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 114.jpg
115,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 115.jpg
116,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 116.jpg
117,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 117.jpg
118,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 118.jpg
119,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 119.jpg
12,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 12.jpg
120,1,1,train/Normal/Normal_Videos482_x264,train/Normal/Normal_Videos482_x264@ 120.jpg
更新:n\u framescolumndtype在我转换为int之前从来都不是字符串和整数为什么整数会以这种方式排序?
如果手头没有数据,很难说,但我会这样切换行:
换句话说,更改
groupby
之后的数据类型相关问题 更多 >
编程相关推荐