2017-11-07 20 views
2

私はこのようなデータフレーム持っている:私はさまざまな方法を試してみましたが、それでもこれをうまくできなかったのPython - リストのグループ行パンダのデータフレーム内

long lat  Place 
-6.779  61.9  Aarhus 
-6.790  62.0  Aarhus  
54.377  24.4  Dhabi 
38.834  9.0  Addis 
35.698  9.2  Addis
Is it possible to transform the dataframe into a format like below? 

Office long + lat 
Aarhus  [[-6.779,61.9], [-6.790,62.0]] 
Dhabi  [[54.377]] 
Addis  [[38.834,9.0], [35.698,9.2]] 

を。

df2["index"] = df2.index 
df2["long"]=df2.groupby('index')['long'].apply(list) 
list 1= [] 
for values in ofce_list: 
    if df['Office'].any() == values: 
     list1.append(df.loc[df['Office'] == values, 'long']) 

    But this returned a series in a list instead which is not desired. Please help. Thank you so much. 

答えて

2
df.groupby('Place')[['long','lat']].apply(lambda x :x.values.tolist()).\ 
     reset_index(name='long + lat') 
Out[1380]: 
    Place      long + lat 
0 Aarhus [[-6.779, 61.9], [-6.79, 62.0]] 
1 Addis [[38.834, 9.0], [35.698, 9.2]] 
2 Dhabi  [[54.376999999999995, 24.4]] 
+0

ええ、cᴏʟᴅsᴘᴇᴇᴅ@ '.reset_index(名= '長い+緯度')' –

+0

を忘れないでください:これは私がそれぞれ別々の場所値のリストを取得しようとしました何 です...あなたは正しいです:-) – Wen

+0

それは素晴らしいです。私はこれから学ぶでしょう。どうもありがとうございます! – peterchen

関連する問題