Python 如何根据条件将某些行的默认值添加到现有数据框中?

Python 如何根据条件将某些行的默认值添加到现有数据框中?,python,pandas,dataframe,conditional-statements,rows,Python,Pandas,Dataframe,Conditional Statements,Rows,我有一个数据集,其中包括有关基金每日表现的信息。在我的完整数据集中,有15年12月1日至17年6月29日之间的每日指标,但并非所有基金都有这些天的信息 我想做的是在最小日期和最大日期(2015年12月1日和2017年6月29日)之间为每天添加行,并为调整后的收盘价设置N/A值 #ORIGINAL DATASET (EXAMPLE) # List of Tuples records = [ ('Fund 1', 34, '12/1/18') , ('Fund 1', 53

我有一个数据集,其中包括有关基金每日表现的信息。在我的完整数据集中,有15年12月1日至17年6月29日之间的每日指标,但并非所有基金都有这些天的信息

我想做的是在最小日期和最大日期(2015年12月1日和2017年6月29日)之间为每天添加行,并为调整后的收盘价设置N/A值

#ORIGINAL DATASET (EXAMPLE)
# List of Tuples
records = [ ('Fund 1', 34, '12/1/18') ,
             ('Fund 1', 53, '12/2/18') ,
             ('Fund 1', 42, '12/3/18') ,
             ('Fund 2', 44, '12/3/18') ,
             ('Fund 1', 32, '12/4/18') ,
             ('Fund 2', 31, '12/4/18') ,
             ('Fund 2', 57, '12/5/18')  ]

#Create a DataFrame object
dfObj = pd.DataFrame(records, columns = ['Fund' , '$', 'Date']) 

dfObj

Fund    $   Date
Fund 1  34  12/1/18
Fund 1  53  12/2/18
Fund 1  42  12/3/18
Fund 2  44  12/3/18
Fund 1  32  12/4/18
Fund 2  31  12/4/18
Fund 2  57  12/5/18


这是一个简单的修复方法吗?

在您的案例中,使用
堆栈和
取消堆栈

df=df.set_index(['Date','Fund']).unstack(fill_value=0).stack().reset_index()
Out[138]: 
      Date    Fund   $
0  12/1/18  Fund 1  34
1  12/1/18  Fund 2   0
2  12/2/18  Fund 1  53
3  12/2/18  Fund 2   0
4  12/3/18  Fund 1  42
5  12/3/18  Fund 2  44
6  12/4/18  Fund 1  32
7  12/4/18  Fund 2  31
8  12/5/18  Fund 1   0
9  12/5/18  Fund 2  57

这看起来很棒!如果我想填充多个列的值,而不仅仅是$,该怎么办?我的完整数据集有20多列。很抱歉,我应该在原来的问题中加上这个。@C.G你仍然可以这样做
df=df.set_index(['Date','Fund']).unstack(fill_value=0).stack().reset_index()
Out[138]: 
      Date    Fund   $
0  12/1/18  Fund 1  34
1  12/1/18  Fund 2   0
2  12/2/18  Fund 1  53
3  12/2/18  Fund 2   0
4  12/3/18  Fund 1  42
5  12/3/18  Fund 2  44
6  12/4/18  Fund 1  32
7  12/4/18  Fund 2  31
8  12/5/18  Fund 1   0
9  12/5/18  Fund 2  57