解包元组的数据帧并执行操作

时间:2018-01-22 00:35:52

标签: python pandas dataframe tuples

我正在尝试解包元组的数据帧并在元组中执行简单的操作。

数据框看起来像

(' 10',' 20',' 50'),(' 50',' 11' ,' 23'),('无'),(' 24',' 13','')

(' 24',' 34',' 12'),(' 90',' 34' ,' 15'),(' 34',' 16',' 76'),('无')

它是一个n * m的数据框,我想要做的是在每个元组内部添加前两个值,并在实际出现数值时除以第三个值。

1 个答案:

答案 0 :(得分:1)

如果我正确地解释了你的问题。这是你想要做的?

>>> df
              0             1             2             3
0  [10, 20, 50]  [50, 11, 23]          None  [24, 13, 43]
1  [24, 34, 12]  [90, 34, 15]  [34, 16, 76]          None
>>> def add_divide(row):
...     return [((tup[0]+tup[1])/tup[2]) if tup else None for tup in row]
... 
>>> df.apply(add_divide, axis=1)
          0         1         2         3
0  0.600000  2.652174       NaN  0.860465
1  4.833333  8.266667  0.657895       NaN

Hereapply函数

的文档