如何从pandas Dataframe中包含数组的单元格中提取值?

时间:2017-12-20 00:05:41

标签: python pandas dataframe

这是数据源的pandas数据帧格式

    cinema       kiwi    restaurant         sushi
0  [2, 2, 2]  [5, 5, 5]     [2, 2, 2]  [14, 14, 14]
1  [2, 2, 2]  [2, 2, 2]     [2, 2, 2]     [2, 2, 2]
2  [1, 1, 1]  [1, 1, 1]  [10, 10, 10]     [1, 1, 1]

我想通过只选择数组的第一个值

来转换它
    cinema       kiwi    restaurant         sushi
0  2             5       2                  14
1  2             2       2                  2
2  1             1       10                 1

有没有这样做的功能? 我正在考虑使用“应用”方法,但我不确定它是否是最佳/最直接的方式。

提前感谢您的意见。

1 个答案:

答案 0 :(得分:3)

最直接的方法是使用.applymap

In [3]: df
Out[3]:
      cinema       kiwi    restaurant         sushi
0  [2, 2, 2]  [5, 5, 5]     [2, 2, 2]  [14, 14, 14]
1  [2, 2, 2]  [2, 2, 2]     [2, 2, 2]     [2, 2, 2]
2  [1, 1, 1]  [1, 1, 1]  [10, 10, 10]     [1, 1, 1]

In [4]: df.applymap(lambda x: x[0])
Out[4]:
   cinema  kiwi  restaurant  sushi
0       2     5           2     14
1       2     2           2      2
2       1     1          10      1