Excel行的升序

时间:2019-02-12 04:07:23

标签: python excel pandas

我在Excel中有以下行:

enter image description here

如何将它们按Python的升序排列(即注意,以12开头的行是在以118开头的行之前)。

我认为Pandas库将是一个起点?任何线索都值得赞赏。

谢谢。

2 个答案:

答案 0 :(得分:3)

首先阅读excel文件

  df = pd.read_excel(“您的/文件/路径/file.xls”)
df
         数据
0 1212.i.jpg
1 121.i.jpg
2 212.i.jpg
3 512.i.jpg

 

然后创建数据的子字符串 假设列名称是“数据”

  df [“ sub”] = df [“ data”]。str [:-6]
 

以防万一,将新列转换为int类型

  df [“ sub”] = df [“ sub”]。astype(int)

 

现在按该新列对值进行排序

  df.sort_values(“ sub”,inplace = True)
 

最后,如果您只想要原始数据:

  df = df [“ data”]


1 121.i.jpg
2 212.i.jpg
3 512.i.jpg
0 1212.i.jpg
 

答案 1 :(得分:2)

使用public static void Main(string[] args) { var jsonSerializer = new JsonSerializer(); var lambdaConfig = new AmazonLambdaConfig() { RegionEndpoint = RegionEndpoint.USEast2 }; var lambdaClient = new AmazonLambdaClient(lambdaConfig); var memoryStream = new MemoryStream(); jsonSerializer.Serialize(myData, memoryStream); var lambdaRequest = new InvokeRequest { FunctionName = "arn:aws:lambda:ap-southeast-2:{id}:function:MyFunction", InvocationType = "Event", PayloadStream = memoryStream }; lambdaClient.InvokeAsync(lambdaRequest); Console.ReadLine();

natsorted

保留原始数据索引

from natsort import natsorted
df.data=natsorted(df.data)
df
Out[129]: 
         data
0   121.i.jpg
1   212.i.jpg
2   512.i.jpg
3  1212.i.jpg

或将df.loc[natsorted(df.index,key=lambda x : df.data[x] )] Out[138]: data 1 121.i.jpg 2 212.i.jpg 3 512.i.jpg 0 1212.i.jpg argsort一起使用

split