我有一个csv,其中包含伦敦地铁站的名称和lat/lng位置信息。看起来像这样:
Station Lat Lng
Abbey Road 51.53195199 0.003737786
Abbey Wood 51.49078408 0.120286371
Acton 51.51688696 -0.267675543
Acton Central 51.50875781 -0.263415792
Acton Town 51.50307148 -0.280288296
我希望转换这个csv来创建一个所有可能的站点组合的起点-目的地矩阵。共有270个站点,因此有72900个可能的组合。在
最后,我希望将这个矩阵转换成以下格式的csv
^{pr2}$第一步是将使用环路的任何站点与所有其他可能的站点配对。然后我需要删除0组合,其中起点和终点站是同一个站。在
我尝试使用NumPy函数column_stack。然而,这给出了一个奇怪的结果。在
import csv
import numpy
from pprint import pprint
numpy.set_printoptions(threshold='nan')
with open('./London stations.csv', 'rU') as csvfile:
reader = csv.DictReader(csvfile)
Stations = ['{O_Station}'.format(**row) for row in reader]
print(Stations)
O_D = numpy.column_stack(([Stations],[Stations]))
pprint(O_D)
输出
车站=
['Abbey Road', 'Abbey Wood', 'Acton', 'Acton Central', 'Acton Town']
外径=
array([['Abbey Road', 'Abbey Wood', 'Acton', 'Acton Central', 'Acton Town',
'Abbey Road', 'Abbey Wood', 'Acton', 'Acton Central', 'Acton Town']],
dtype='|S13')
我理想中寻找更合适的功能,并发现很难找到它在纽比手册。在
这是一个不完整的答案,但我会跳过numpy直接进入^{} :
这很困难,因为它不是真正的逗号分隔的,否则我们可以调用^{} :
^{pr2}$所以我们最终得到
df.head()
的结果:得到排列可能意味着我们不需要把台站作为索引。。。暂时还不确定。希望这能有所帮助!在
在处理这样的表格数据时,我更喜欢使用pandas。它使控制数据结构变得简单。在
这应该是您的数据转换的诀窍。在
相关问题 更多 >
编程相关推荐