从Pandas数据帧创建嵌套列表

时间:2016-10-22 22:34:58

标签: python pandas

我有一个简单的pandas数据框,有两列。我想生成这两列的嵌套列表。

geo = pd.DataFrame({'lat': [40.672304, 40.777169, 40.712196], 
                'lon': [-73.935385, -73.988911, -73.957649]})

我对此问题的解决方案如下:

X = [[i] for i in geo['lat'].tolist()]
Y = [i for i in geo['lon'].tolist()]

for key, value in enumerate(X):
    X[key].append(Y[key])
然而,我觉得必须有比这更好的方法。

谢谢!

2 个答案:

答案 0 :(得分:1)

pandas建立在numpy之上。 DataFramevalues存储在numpy数组中,该数组具有tolist方法。

>>> geo = pd.DataFrame({'lat': [40.672304, 40.777169, 40.712196],
    ...:                 'lon': [-73.935385, -73.988911, -73.957649]})
    ...:
>>> geo.values
>>>
array([[ 40.672304, -73.935385],
       [ 40.777169, -73.988911],
       [ 40.712196, -73.957649]])
>>>
>>> geo.values.tolist()
[[40.672304, -73.935385], [40.777169, -73.988911], [40.712196, -73.957649]]

答案 1 :(得分:0)

怎么样

out_list = []
for index, row in geo.iterrows():
    out_list.append([row.lat, row.long])