从包含一个括号下的多个值集的单个值创建集值列表

时间:2018-05-22 09:00:11

标签: python dataframe

所以我目前有一个包含如下值的列:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div class="menu">
  <div id="home" class="menu_align active_one">Home</div>
  <div id="profile" class="menu_align">Profile</div>
  <div id="notifs" class="menu_align">Notifications</div>
</div>

我正努力让它能够:

1)对每个数值和

应用一个函数

2)结束这样的事情。

d = {'col1': [LINESTRING(174.76028 -36.80417,174.76041 -36.80389, 175.76232 -36.82345)]
df = pd.DataFrame(d)

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

这是一种方法。请注意,LineString接受有序的元组集合作为输入。有关详细信息,请参阅docs

我们使用operator.attrgetter来访问所需的属性:coords__class__.__name__

import pandas as pd
from operator import attrgetter

class LineString():
    def __init__(self, list_of_coords):
        self.coords = list_of_coords
        pass

df = pd.DataFrame({'col1': [LineString([(174.76028, -36.80417), (174.76041, -36.80389), (175.76232, -36.82345)])]})

df['col2'] = df['col1'].apply(attrgetter('coords'))
df['col1'] = df['col1'].apply(attrgetter('__class__')).apply(attrgetter('__name__'))

print(df)

         col1                                               col2
0  LineString  [(174.76028, -36.80417), (174.76041, -36.80389...