我有一个计算气象站列表的前3个最大值的程序。前3个气象站的名称是一个字符串,由排序列表(从max到min)“maxstat”确定,如下所示:
txtmax = '\n{}\n{}\n{}'.format(maxstat[0],
maxstat[1],
maxstat[2])
例如,其中txtmax可以是
'Baal'
'Arnhem'
'Arendonk'
现在我有了另一个用Python导入的csv文件,其中列出了电台的国家(按字母顺序):
countrystationsfile = os.path.join(
os.path.dirname(__file__),
'resources', 'stations_country.csv')
countrystations = pd.read_csv(countrystationsfile)
其中,文件如下所示:
Place Country Source Comment
1 Afferden NL AMATEUR N/A
2 Alkmaar NL AMATEUR N/A
3 Almelo NL AMATEUR N/A
4 Almere NL AMATEUR N/A
5 Appelscha NL AMATEUR N/A
6 Archenes BE AMATEUR N/A
7 Arendonk BE AMATEUR N/A
8 Arnhem NL AMATEUR N/A
9 Assen NL AMATEUR N/A
10 Avelgem BE AMATEUR N/A
11 Baal BE AMATEUR N/A
如何让txtmax自动在countrystationsfile文件中搜索对应的站点匹配字符串(列位置),从而确定其国家(列Country)?最后,我想为txtmax提供以下内容:
'Baal, BE'
'Arnhem, NL'
'Arendonk, BE'
已经谢谢你了!
发布于 2021-04-16 22:31:41
如果DataFrame中的条目是唯一的,您可以从2列创建字典,然后使用该字典映射国家/地区,例如:
d = dict(zip(countrystations['Place'], countrystations['Country']))
然后:
txtmax = '\n{}, {}\n{}, {}\n{}, {}'.format(maxstat[0], d[maxstat[0]],
maxstat[1], d[maxstat[1]],
maxstat[2], d[maxstat[2]])
https://stackoverflow.com/questions/67126950
复制相似问题