使用行和列值在Dataframe上应用公式

时间:2016-11-03 14:34:55

标签: python pandas numpy

这是一个基本问题。我的数据框如:

          1000    4000   
index
 2000     NaN     NaN   
 4000     NaN     NaN

现在我想在整个数据框架上应用一个公式,结构可能如下所示:

 cell_value = index_value + column_value

即。数据框中的NaN应该用公式代替。

这样做最优雅的方法是什么?

2 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

df[:] = df.index.values.reshape(df.index.size,1) + df.columns.astype(int)

df
#       1000    4000
#index      
# 2000  3000    6000
# 4000  5000    8000

答案 1 :(得分:3)

你可以使用申请

import pandas as pd
import numpy as np
df = pd.DataFrame(np.nan, index=[2000,4000], columns=[1000,4000])
df.apply(lambda x: x.name + x.index)
Out[15]: 
      1000  4000
2000  3000  6000
4000  5000  8000

由于apply()返回列Series,调用x.name会返回列名称,x.index不言自明