python删除非整数行,转换为int
是否有一种简单的方法可以删除包含非整数单元格值的行,然后/并将字符串转换为整数,然后升序排序?我有一个数据集(应该是记录编号的单列),其中有我想要删除的字符串。这段代码似乎有效,但排序似乎就像“float”是“string”一样。例如,记录编号的排序如下:python删除非整数行,转换为int,python,string,sorting,pandas,integer,Python,String,Sorting,Pandas,Integer,是否有一种简单的方法可以删除包含非整数单元格值的行,然后/并将字符串转换为整数,然后升序排序?我有一个数据集(应该是记录编号的单列),其中有我想要删除的字符串。这段代码似乎有效,但排序似乎就像“float”是“string”一样。例如,记录编号的排序如下: 0 1 2 200000000 201 3 代码: 有没有一种方法可以在不首先转换为float的情况下执行此操作?我想删除不适合int64的数字,您可以将所有字符串元素转换为浮点元素,并执行以下排序方法 def numeric_co
0
1
2
200000000
201
3
代码:
有没有一种方法可以在不首先转换为float的情况下执行此操作?我想删除不适合int64的数字,您可以将所有字符串元素转换为浮点元素,并执行以下排序方法
def numeric_compare(x, y):
return float(x)-float(y)
>>> sorted(['10.0','2000.0','30.0'],cmp=numeric_compare)
['10.0', '30.0', '2000.0']
代码中的问题是
cln['Record Number'].astype(float)
不修改数据帧。因此,它将列视为字符串类型,并对其进行相应的排序。如果打印cln['Record Number'].dtype
在声明之后,它应该说清楚。
如果你想修改它,你应该做作业
cln['Record Number'] = cln['Record Number'].astype(float)
有没有办法从原始输入df1中删除非整数,而不是生成新的序列?
cln['Record Number'] = cln['Record Number'].astype(float)