交易危机

 找回密码
 快捷注册(禁q号)

QQ登录

只需一步,快速开始

搜索
查看: 1852|回复: 31

[探讨] 派森寻赏

[复制链接]

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
发表于 2022-5-24 09:26 | 显示全部楼层 |阅读模式
1500金钱
北京
3639
1315
上海
4177
2244
天津
3712
1399
保定
3569
1438
承德
3757
1187
邯郸
3493
1696
秦皇岛
3904
1289
石家庄
3488
1535
唐山
3791
1339
张家口
3506
1221
长治
3374
1750
大同
3376
1306
临汾
3237
1764
太原
3326
1556
运城
3188
1881
包头
3089
1251
二连浩特
3258
911
海拉尔
3814
261
呼和浩特
3238
1229
满洲里
3646
234
锡林浩特
3583
864
鞍山
4172
1125
大连
4089
1387
丹东
4297
1218
锦州
4020
1142
沈阳
4196
1044
营口
4116
1187
白城
4096
626
长春
4312
790
四平
4252
882
通化
4403
1022
图们
4685
830
哈尔滨
4386
570
黑河
4361
73
鸡西
4720
557
佳木斯
4643
404
牡丹江
4634
654
齐齐哈尔
4153
426
同江
4784
279
宝鸡
2846
1951
汉中
2831
2099
西安
3007
1970
延安
3054
1710
榆林
3086
1516
敦煌
1828
1210
兰州
2562
1756
天水
2716
1924
玉门
2061
1277
张掖
2291
1403
青铜峡
2751
1559
银川
2788
1491
德令哈
2012
1552
格尔木
1779
1626
西宁
2381
1676
阿克苏
682
825
阿勒泰
1478
267
哈密
1777
892
和田
518
1251
喀什
278
890
塔城
1064
284
乌鲁木齐
1332
695
济南
3715
1678
济宁
3688
1818
青岛
4016
1715
荣成
4181
1574
潍坊
3896
1656
烟台
4087
1546
连云港
3929
1892
南京
3918
2179
无锡
4062
2220
徐州
3751
1945
扬州
3972
2136
杭州
4061
2370
椒江
4207
2533
金华
4029
2498
宁波
4201
2397
温州
4139
2615
安庆
3766
2364
蚌埠
3777
2095
合肥
3780
2212
黄山
3896
2443
芜湖
3888
2261
赣州
3594
2900
景德镇
3796
2499
九江
3678
2463
南昌
3676
2578
萍乡
3478
2705
鹰潭
3789
2620
福州
4029
2838
龙岩
3810
2969
三明
3862
2839
厦门
3928
3029
高雄
4167
3206
台北
4263
2931
台中
4186
3037
安阳
3486
1755
开封
3492
1901
洛阳
3322
1916
南阳
3334
2107
信阳
3479
2198
郑州
3429
1908
黄石
3587
2417
沙市
3318
2408
十堰
3176
2150
武汉
3507
2376
襄樊
3296
2217
宜昌
3229
2367
常德,
3264
2551
长沙
3394
2643
彬州
3402
2912
衡阳
3360
2792
怀化
3101
2721
岳阳
3402
2510
广州
3439
3201
汕头
3792
3156
韶关
3468
3018
深圳
3526
3263
湛江
3142
3421
肇庆
3356
3212
北海
3012
3394
桂林
3130
2973
柳州
3044
3081
南宁
2935
3240
凭祥
2765
3321
海口
3140
3550
三亚
3053
3739
成都
2545
2357
重庆
2769
2492
攀枝花
2284
2803
绵阳
2611
2275
西昌
2348
2652
宜宾
2577
2574
锘匀
2860
2862
贵阳
2778
2826
六盘水
2592
2820
遵义
2801
2700
大理
2126
2896
个旧
2401
3164
昆明
2370
2975
畹町
1890
3033
拉萨
1304
2312
日喀则
1084
2313
香港
3538
3298
澳门
3470
3304


任务
-----------------------------------------------------------------------
在数据文件Assignment_Data.xlsx中的CHN144的表中,记录了中国144个城市的坐标。
请编写python程序,从上述文件中读取相应的数据,完成下列任务。

任务:
1. 对任意一个城市City_i,计算它和其它143个城市的距离,在文件Assignment_Data.xlsx中建立一个名为Distancesheet,将结果保存到其中。
Distance中第一行和第一列的内容一样,为所有144个城市的名字,第i行第j列的单元格的内容即为第i个城市和第j个城市的距离。
2. 在Assignment_Data.xlsx中建立一个名为Shortest_Distancesheet,建立标题行,第一列为144个城市的名字,标题为“城市”,第二列为与第一列对应城市距离最近的城市名,标题为“最邻近的城市”,第三列为两个城市之间的距离,标题为“距离”。
3. 找出这些城市中距离最近的10对城市,距离最远的10对城市,在Shortest_Distance表中写入这些信息。
4. 使用Turtle库,按坐标将这144个城市的位置用点表示出。如果需要,请对城市坐标进行适当的变换。将距离最近的10对城市和距离最远的10对城市用不同颜色标识出来。
5. 使用plotly_express库,按坐标将这144个城市的位置用点表示出。如果需要,请对城市坐标进行适当的变换。将距离最近的10对城市和距离最远的10对城市用不同颜色标识出来。

-----------------------------------------------------------------------
2.jpg





125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-24 09:26 | 显示全部楼层
微信截图_20220525230113.png


微信截图_20220525230058.png

assign.zip

10.06 KB, 下载次数: 5, 下载积分: 金钱 -3

装死
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-24 09:28 | 显示全部楼层
Assignment_Data.zip (17.71 KB, 下载次数: 6)
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-24 09:33 | 显示全部楼层
3.png
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-24 09:44 | 显示全部楼层

点评

就得找他,论坛就看到他是搞派森的  发表于 2022-5-24 17:19
回复

使用道具 举报

125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-25 19:01 | 显示全部楼层
我可以试下
装死
回复

使用道具 举报

125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-25 19:06 | 显示全部楼层
这两列数字是什么东西

评分

参与人数 1金钱 +188 收起 理由
frlin2003 + 188 我是你的粉丝!

查看全部评分

装死
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:13 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 19:06
这两列数字是什么东西

把这组数据用派森加工一下
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:15 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 19:06
这两列数字是什么东西

两组数据是公里数
回复

使用道具 举报

125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-25 19:16 | 显示全部楼层
当做一个球,还是一个平面
装死
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:17 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 19:16
当做一个球,还是一个平面

你看哪个方便呢
球和平面区别是啥
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:25 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 19:16
当做一个球,还是一个平面


做平面。
回复

使用道具 举报

125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-25 19:33 | 显示全部楼层
回去搞下
装死
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:35 | 显示全部楼层
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 19:58 | 显示全部楼层

用pycharm和anaconda,在pycharm里面写,用anaconda里面带的Python解释器
尽量用基础一点的方法
回复

使用道具 举报

125

主题

1万

积分

0

精华

操盘专家

金钱
17347 美元
权重
0
发表于 2022-5-25 22:57 | 显示全部楼层
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. # @time   : 2022/5/25 21:08
  4. # @Author  : sanbuxiaozhu
  5. # @File    : assign.py
  6. # @Software: PyCharm
  7. # @Describe: ----------------


  8. import xlrd
  9. import xlwt


  10. if __name__ == '__main__':

  11.     xls_path = 'data.xls'

  12.     # 打开工作簿
  13.     workbook = xlrd.open_workbook(filename=xls_path)
  14.     # 获取sheet1的句柄
  15.     sheet1 = workbook.sheet_by_index(0)

  16.     #创建一个工作簿
  17.     workbook2 = xlwt.Workbook()
  18.     #创建工作表
  19.     wooksheet = workbook2.add_sheet("test")


  20.     #列数
  21.     cols = sheet1.row_len(0)
  22.     #行数
  23.     rows = len(sheet1.col_values(0))

  24.     print(rows,cols)

  25.     city_names = []
  26.     coor_x = []
  27.     coor_y = []

  28.     for i in range(rows):
  29.         for j in range(cols):

  30.             if j == 0:
  31.                 city_names.append(sheet1.cell(i,j).value)
  32.             elif j == 1:
  33.                 coor_x.append(sheet1.cell(i,j).value)
  34.             elif j == 2:
  35.                 coor_y.append(sheet1.cell(i,j).value)


  36.     distance_list = []


  37.     for i in range(rows):
  38.         dx = []
  39.         wooksheet.write(i+1, 0, city_names[i])
  40.         for j in range(rows):
  41.             if i == 0 :
  42.                 wooksheet.write(0, j+1, city_names[j])

  43.             distance = pow(pow(coor_x[i] - coor_x[j],2) + pow(coor_y[i] - coor_y[j],2),0.5)
  44.             value = round(distance,2)
  45.             dx.append(value)

  46.             wooksheet.write(i+1,j+1,value)

  47.         distance_list.append(dx)

  48.     print(distance_list)

  49.     #保存到excel
  50.     workbook2.save('汇总.xls')


  51.     #找出最近的城市
  52.     nearest = []
  53.     farest = []

  54.     for i in range(rows):

  55.         temp = list(distance_list[i])
  56.         temp.sort()
  57.         min_distance = temp[1]

  58.         max_distance = max(distance_list[i])
  59.         index1 = distance_list[i].index(min_distance)
  60.         index2 = distance_list[i].index(max_distance)


  61.         citya = city_names[i]
  62.         cityb = city_names[index1]
  63.         cityb2 = city_names[index2]

  64.         nearest.append((citya,cityb,min_distance))
  65.         farest.append((citya,cityb2,max_distance))


  66.     #创建
  67.     # 创建一个工作簿
  68.     workbook_nearandfar = xlwt.Workbook()
  69.     # 创建工作表
  70.     wooksheet_nearandfar = workbook_nearandfar.add_sheet("nearandfar")

  71.     wooksheet_nearandfar.write(0, 0, "城市")
  72.     wooksheet_nearandfar.write(0, 1, "最近的城市")
  73.     wooksheet_nearandfar.write(0, 2, "距离")

  74.     wooksheet_nearandfar.write(0, 3, "最远的城市")
  75.     wooksheet_nearandfar.write(0, 4, "距离")


  76.     for i in range(rows):
  77.         wooksheet_nearandfar.write(i + 1, 0, nearest[i][0])
  78.         wooksheet_nearandfar.write(i + 1, 1, nearest[i][1])
  79.         wooksheet_nearandfar.write(i + 1, 2, nearest[i][2])

  80.         wooksheet_nearandfar.write(i + 1, 3, farest[i][1])
  81.         wooksheet_nearandfar.write(i + 1, 4, farest[i][2])


  82.     workbook_nearandfar.save('nearest_and_farest.xls')


复制代码


点评

厉害了  发表于 2022-5-25 23:43

评分

参与人数 1金钱 +66 收起 理由
大妞你真美 + 66 我是你的粉丝!

查看全部评分

装死
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 23:03 来自手机 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 22:57

感谢,我的教科书。
一句句学习
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 23:08 | 显示全部楼层
本帖最后由 frlin2003 于 2022-5-25 23:30 编辑

已经理解
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-25 23:11 | 显示全部楼层
回复

使用道具 举报

1989

主题

5万

积分

157

精华

大型投行

金钱
57912 美元
权重
640
 楼主| 发表于 2022-5-26 01:03 来自手机 | 显示全部楼层
sanbuxiaozhu 发表于 2022-5-25 22:57

    #创建工作表
    wooksheet = workbook2.add_sheet("test")
worksheet?wooksheet?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|交易危机

版权所有: ©2014-2021 fx3q.com Powered by Discuz! X3
浙ICP备: ICP14039028

浙公网安备 33011802001420号

风险提示:杠杆风险高,交易要谨慎 声明:坛友发言和回复均为个人观点,不代表论坛立场。
若有侵权请联系fx3q@qq.com删除

快速回复 返回顶部 返回列表