从pandas dataframe列获取值

时间:2017-08-07 02:07:56

标签: python pandas

我最终得到了一个像这样的pandas数据框:

               adm1    per_area_adm1
0          campeche  [2.57978273338]
1           chiapas  [10.9970300459]

有没有办法从per_area_adm1列获取值?我可以做df['per_area_adm1'].values但是提供了一系列列表

3 个答案:

答案 0 :(得分:3)

如果每个列表只包含一个元素,则可以使用.str[0]

df.per_area_adm1.str[0]

#0     2.579783
#1    10.997030
#Name: per_area_adm1, dtype: float64

答案 1 :(得分:1)

或者,df.apply(operator.itemgetter)

In [1026]: import operator

In [1027]: df.per_area_adm1.apply(operator.itemgetter(0)).values
Out[1027]: array([  2.57978273,  10.99703005])

答案 2 :(得分:0)

您可以使用此功能将列表列表缩减为列表

flat_list = [item for sublist in df['per_area_adm1'].values for item in sublist]
print(flat_list)

参考:Making a flat list out of list of lists in Python