这是一个基本问题。我的数据框如:
1000 4000
index
2000 NaN NaN
4000 NaN NaN
现在我想在整个数据框架上应用一个公式,结构可能如下所示:
cell_value = index_value + column_value
即。数据框中的NaN应该用公式代替。
这样做最优雅的方法是什么?
答案 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
不言自明