Python 在数据框中,用0填充缺失年份/季度的列
我有一个如下所示的数据帧。某个年度或季度缺少值 我需要的是一个数据框,其中缺少的年份/季度填充为0,如下所示:Python 在数据框中,用0填充缺失年份/季度的列,python,pandas,Python,Pandas,我有一个如下所示的数据帧。某个年度或季度缺少值 我需要的是一个数据框,其中缺少的年份/季度填充为0,如下所示: pd.DataFrame({'Year_Quarter':['2017_Q1', '2017_Q2','2017_Q3', '2017_Q4', '2018_Q1', '2018_Q2', '2018_Q3','2018_Q4'], 'Value': [12, 0,14, 2, 44, 5, 0, 3
pd.DataFrame({'Year_Quarter':['2017_Q1', '2017_Q2','2017_Q3', '2017_Q4',
'2018_Q1', '2018_Q2', '2018_Q3','2018_Q4'],
'Value': [12, 0,14, 2, 44, 5, 0, 33]})
Year_Quarter Value
0 2017_Q1 12
1 2017_Q2 0
2 2017_Q3 14
3 2017_Q4 2
4 2018_Q1 44
5 2018_Q2 5
6 2018_Q3 0
7 2018_Q4 33
有人知道怎么做吗?非常感谢 定义第二个数据帧,其中包含所需的所有“年/季”值 像这样
df2 = pd.DataFrame({'Year_Quarter':['2017_Q1', '2017_Q2','2017_Q3', '2017_Q4',
'2018_Q1', '2018_Q2', '2018_Q3','2018_Q4']})
然后合并两个数据帧并用零填充NaN值
df1.merge(df2, how='outer').fillna(0)
定义第二个数据帧,其中包含所需的所有“年\季”值 像这样
df2 = pd.DataFrame({'Year_Quarter':['2017_Q1', '2017_Q2','2017_Q3', '2017_Q4',
'2018_Q1', '2018_Q2', '2018_Q3','2018_Q4']})
然后合并两个数据帧并用零填充NaN值
df1.merge(df2, how='outer').fillna(0)
Munge df将年度和季度划分为期间
df = df.assign(
Year_Quarter=
df.Year_Quarter.map(lambda x: pd.Period(x.replace('_', ''), 'Q'))
).set_index('Year_Quarter')
创建一个期间范围的索引
idx = pd.period_range(df.index.min(), df.index.max(), freq='Q', name=df.index.name)
然后使用reindex
Munge df将年度和季度划分为期间
df = df.assign(
Year_Quarter=
df.Year_Quarter.map(lambda x: pd.Period(x.replace('_', ''), 'Q'))
).set_index('Year_Quarter')
创建一个期间范围的索引
idx = pd.period_range(df.index.min(), df.index.max(), freq='Q', name=df.index.name)
然后使用reindex
这不是很普遍。如果OP有500个缺失值怎么办?这不是很普遍。如果OP有500个缺失值怎么办?您是否知道如何获取股票收益格式的季度数据,例如:2020-06-30、2020-03-30而不是2020Q1格式?您是否知道如何获取股票收益格式的季度数据,例如:2020-06-30、2020-03-30而不是2020Q1格式?