从pandas dataframe列获取值

2024-04-25 21:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

最后我得到了一个pandas数据帧,如下所示:

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

有没有办法从per_area_adm1列中获取值?我可以做df['per_area_adm1'].values,但这提供了一个列表数组


Tags: 数据pandasdf列表area数组valuesper
3条回答

或者,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])

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

df.per_area_adm1.str[0]

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

您可以使用此函数将列表缩减为一个列表

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

相关问题 更多 >