从python中的csv数据创建有序对的列表

时间:2017-11-07 21:20:16

标签: python list csv

请在此处参考数据:https://gist.githubusercontent.com/brooksandrew/f989e10af17fb4c85b11409fea47895b/raw/a3a8da0fa5b094f1ca9d82e1642b384889ae16e8/nodelist_sleeping_giant.csv

数据的最后两列表示[X,Y]坐标对。我想获取这些数据并将其组织成python中的配对列表列表,使其看起来像:

coords = [[1486,732],[716,1357],...,[X_ii, Y_ii]]

到目前为止,我已经尝试过这个:

  nodelist = pd.read_csv('https://gist.githubusercontent.com/brooksandrew/f989e10af17fb4c85b11409fea47895b/raw/a3a8da0fa5b094f1ca9d82e1642b384889ae16e8/nodelist_sleeping_giant.csv')
  coord_array = pd.DataFrame(nodelist.iloc[:,1:].iterrows())
  coords = [[tuple(x)] for x in coord_array.values][0]

但是这会输出:

[[[(0, X    1486
    Y     732
    Name: 0, dtype: int64)], [(1, X     716
    Y    1357
    Name: 1, dtype: int64)], [(2, X    3164
    Y    1111
...

1 个答案:

答案 0 :(得分:1)

要在迭代行时保留dtypes,最好使用返回itertuples()值的namedtuples,这通常比iterrows()更快。 Read more here

[[e.X, e.Y] for e in nodelist.itertuples()]