【发布时间】:2022-02-17 02:42:14
【问题描述】:
我的玩具DataFrame类似于
import pandas as pd
data = {'year': [1999, 2000, 2001, 2002, 2003, 2004, 2005,
1999, 2000, 2003, 2004, 2005],
'id': [1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
'price': [1200, 150, 300, 450, 200, 300, 400, 120,
140, 150, 155, 156]
}
df = pd.DataFrame(data)
添加缺失年份最优雅的方法是什么?
在示例中,由于缺少数据,id = 2 缺少 2001 年和 2002 年。在这种情况下,我仍然希望 DataFrame 中有年份,id 应该是 2 和 price = NaN。
我的真实 DataFrame 有数千个 ID。
【问题讨论】:
-
根据你的数据,你可以试试
df.pivot('id', 'year', 'price').stack(dropna=False).rename('price').reset_index()。