我正在读取一个文本文件,其输出如下所示:
['XXXX_10 SATLIT 9.900 2024/319 12:22:00 2024/319 12:31:03 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 12:22:00 2024/319 12:31:03 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 12:55:03 2024/319 13:17:38 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 12:55:03 2024/319 13:17:38 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 14:33:50 2024/319 14:45:00 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 14:33:50 2024/319 14:45:00 TR2 # SOH'
'XXXX_10 SATLIT 9.900 2024/319 19:47:00 2024/319 20:08:37 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 12:22:00 2024/319 12:31:03 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 12:22:00 2024/319 12:31:03 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 12:55:03 2024/319 13:16:47 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 12:55:03 2024/319 13:16:47 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 14:33:50 2024/319 14:45:00 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 14:33:50 2024/319 14:45:00 TR2 # SOH'
'XXXX_11 SATLIT 9.900 2024/319 19:47:00 2024/319 20:07:47 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/319 19:47:00 2024/319 20:13:11 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/319 19:47:00 2024/319 20:13:11 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/319 21:29:03 2024/319 22:28:00 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/319 21:29:03 2024/319 22:28:00 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/320 01:32:00 2024/320 01:54:06 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/320 01:32:00 2024/320 01:54:06 TR2 # SOH'
'XXXX_12 SATLIT 9.900 2024/320 02:37:13 2024/320 02:54:27 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 11:44:00 2024/319 12:00:00 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 11:44:00 2024/319 12:00:00 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 12:55:03 2024/319 13:41:19 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 12:55:03 2024/319 13:41:19 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 15:05:00 2024/319 15:11:00 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 15:05:00 2024/319 15:11:00 TR2 # SOH'
'XXXX_6 SATLIT 9.900 2024/319 18:32:00 2024/319 19:02:03 TR2 # SOH']
如何使用 np 使用第一个时隙对该数组进行排序?第 4 栏和第 5 栏。
searchfile = open('SATLIT_schedule.txt')
d = np.array(searchfile.readlines())
sortd = np.sort(d, 3)
print sortd
嗯,我假设您指定的日期格式为 YYYY/DDD(第 4 列)HH:MM:SS(第 5 列)。这是我使用 numpy 和 pandas 编写的解决方案:
import pandas as pd
import numpy as np
df = np.genfromtxt("SATLIT_schedule.txt", dtype=str)
df = pd.DataFrame(df)
然后您可以将 HH:MM:SS 列连接到相应的 YYYY/DDD 列
df.loc[:, 3] = df.loc[:, 3] + "/" + df.loc[:, 4]
df.loc[:, 5] = df.loc[:, 5] + "/" + df.loc[:, 6]
当然,我们可以去掉 HH:MM:SS 列,因为它们已经连接到相应的 YYYY/DDD 列
df.drop(4, axis=1, inplace=True)
df.drop(6, axis=1, inplace=True)
实际上,我们可以按字典顺序对日期时间列进行排序,由于格式 (YYYY/DDD/HH:MM:SS) 是按顺序或重要性排序的,因此它将按日期排序。
df.sort_values(3, axis=0, ascending=False)
然后我们得到最终排序的 pandas Dataframe:
print(df)