仅使用 numpy 根据年、月和游客到达人数对 csv 文件中的数据进行排序

Sort data in a csv file according to year, month and no of tourist arrival only using numpy

提问人:Nirajan 提问时间:4/26/2022 更新时间:4/26/2022 访问量:53

问:

我正在尝试根据使用 numpy 的游客到达情况,以年、月和游客到达次数的格式对数据进行排序,从五个最差的月份开始。现在,我在这个线程中看到有人在熊猫的帮助下用熊猫对数据帧进行排序。我试图只用numpy实现同样的事情。

输出应如下所示

Year    Month   value
2001    Jun.    13030
1993    Jul.    13588
2002    Jul.    16621
2002    Jan.    17176
2002    Jun.    17218

我尝试使用 sort , lexsort, argsort 但我没有得到上述结果。

FILE_PATH = "tourist_arrival.csv"

reader = np.loadtxt(FILE_PATH, delimiter=',', dtype=str)

print(reader)

该文件的输出为:

array([['Year', 'Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.',
        'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.', 'Total'],
       ['1992', '17451', '27489', '31505', '30682', '29089', '22469',
        '20942', '27338', '24839', '42647', '32341', '27561', '334353'],
       ['1993', '19238', '23931', '30818', '20121', '20585', '19602',
        '13588', '21583', '23939', '42242', '30378', '27542', '293567'],
       ['1994', '21735', '24872', '31586', '27292', '26232', '22907',
        '19739', '27610', '27959', '39393', '28008', '29198', '326531'],
       ['1995', '22207', '28240', '34219', '33994', '27843', '25650',
        '23980', '27686', '30569', '46845', '35782', '26380', '363395'],
       ['1996', '27886', '29676', '39336', '36331', '29728', '26749',
        '22684', '29080', '32181', '47314', '37650', '34998', '393613'],
       ['1997', '25585', '32861', '43177', '35229', '33456', '26367',
        '26091', '35549', '31981', '56272', '40173', '35116', '421857'],
       ['1998', '28822', '37956', '41338', '41087', '35814', '29181',
        '27895', '36174', '39664', '62487', '47403', '35863', '463684'],
       ['1999', '29752', '38134', '46218', '40774', '42712', '31049',
        '27193', '38449', '44117', '66543', '48865', '37698', '491504'],
       ['2000', '25307', '38959', '44944', '43635', '28363', '26933',
        '24480', '34670', '43523', '59195', '52993', '40644', '463646'],
       ['2001', '30454', '38680', '46709', '39083', '28345', '13030',
        '18329', '25322', '31170', '41245', '30282', '18588', '361237'],
       ['2002', '17176', '20668', '28815', '21253', '19887', '17218',
        '16621', '21093', '23752', '35272', '28723', '24990', '275468'],
       ['2003', '21215', '24349', '27737', '25851', '22704', '20351',
        '22661', '27568', '28724', '45459', '38398', '33115', '338132'],
       ['2004', '30988', '35631', '44290', '33514', '26802', '19793',
        '24860', '33162', '25496', '43373', '36381', '31007', '385297'],
       ['2005', '25477', '20338', '29875', '23414', '25541', '22608',
        '23996', '36910', '36066', '51498', '41505', '38170', '375398'],
       ['2006', '28769', '25728', '36873', '21983', '22870', '26210',
        '25183', '33150', '33362', '49670', '44119', '36009', '383926'],
       ['2007', '33192', '39934', '54722', '40942', '35854', '31316',
        '35437', '44683', '45552', '70644', '52273', '42156', '526705'],
       ['2008', '36913', '46675', '58735', '38475', '30410', '24349',
        '25427', '40011', '41622', '66421', '52399', '38840', '500277'],
       ['2009', '29278', '40617', '49567', '43337', '30037', '31749',
        '30432', '44174', '42771', '72522', '54423', '41049', '509956'],
       ['2010', '33645', '49264', '63058', '45509', '32542', '33263',
        '38991', '54672', '54848', '79130', '67537', '50408', '602867'],
       ['2011', '42622', '56339', '67565', '59751', '46202', '46115',
        '42661', '71398', '63033', '96996', '83460', '60073', '736215'],
       ['2012', '52501', '66459', '89151', '69796', '50317', '53630',
        '49995', '71964', '66383', '86379', '83173', '63344', '803092'],
       ['2013', '47846', '67264', '88697', '65152', '52834', '54599',
        '54011', '68478', '66755', '99426', '75485', '57069', '797616']],
      dtype='<U6')
python pandas numpy csv

评论

1赞 Ynjxsjmh 4/26/2022
如果你只想使用 numpy,则无需包含 pandas 标签。
0赞 Paul H 4/26/2022
您想使用rec_array
0赞 furas 4/27/2022
你应该展示你是如何尝试使用、的,以及你得到了什么结果。sortlexsortargsort

答: 暂无答案