我正在尝试扩展以下数据。我是 Stata 用户,我的问题可以通过 Stata 中的命令“fillin”解决,现在我试图用 Python 重写这个命令,但找不到任何有效的命令。
例如: ,转换这个数据框: (我的数据框比给出的例子大,这个例子只是为了说明我想做什么)
id 年份 X Y
1 2008 10 20
1 2010 15 25
2 2011 2 4
2 2012 3 6
这个
id 年份 X Y
1 2008 10 20
1 2009 年。 .
1 2010 15 20
1 2011 年。 .
1 2012 年。 .
2 2008 年。 .
2 2009 年。 .
2 2010 年。 .
2 2011 2 4
2 2012 3 6
谢谢,抱歉我的英语不好
最佳答案
这可以通过使用 .loc[]
来完成
from itertools import product
import pandas as pd
df = pd.DataFrame([[1,2008,10,20],[1,2010,15,25],[2,2011,2,4],[2,2012,3,6]],columns=['id','year','X','Y'])
df = df.set_index(['id','year'])
# All combinations of index
#idx = list(product(df.index.levels[0], df.index.levels[1]))
idx = list(product(range(1,3), range(2008,2013)))
df.loc[idx]
关于python - 展开面板数据python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47061082/