我正在尝试使用静态日期填充DataFrame列(整列),但必须是变量。我可以使用numpy填写数字,但我无法填写列的日期:
currdate = ['3/31/2018'] #this is what I need filled in
missing = ['GREEN', 'YELLOW', 'RED', 'BLUE', 'PINK']
第1节:
A = ({'PERIOD DT': pd.to_datetime(currdate),
'TEAM': missing,
'REGION': ['NA'],
'SECTOR': ['OTHER'],
'REVENUE': [0]})
任何人都可以解释为什么上面的代码没有在每个列中填写?对于除“TEAM'”之外的每个列,这些值仅填充DataFrame中的第一行数据。
DF = pd.DataFrame.from_dict(A, orient='index')
DF= DF.transpose()
第2节:
zeroVal = [0]
n = len(DF)
DF['SECTOR'] = 'OTHER'
DF['REGION'] = 'NA'
DF.loc[:,'REVENUE'] = np.zeros(n)
我尝试使用以下内容来填写“' currdate'我正在使用' PERIOD DT'专栏,但我无法让它工作:
DF['PERIOD DT'] = pd.to_datetime(currdate)
不告诉每一栏在第2部分中做什么,我得到以下输出: 我希望列中的所有值都填充在每列中,除了我使用引用列表的变量填充的TEAM
PERIOD DT TEAM REGION SECTOR REVENUE
0 2018-03-31 GREEN NA OTHER 0.00
1 NONE YELLOW NONE NONE NONE
2 NONE RED NONE NONE NONE
3 NONE BLUE NONE NONE NONE
4 NONE PINK NONE NONE NONE
我的预期输出:
PERIOD DT TEAM REGION SECTOR REVENUE
0 2018-03-31 GREEN NA OTHER 0.00
1 2018-03-31 YELLOW NA OTHER 0.00
2 2018-03-31 RED NA OTHER 0.00
3 2018-03-31 BLUE NA OTHER 0.00
4 2018-03-31 PINK NA OTHER 0.00
问题:1,为什么我不能得到变量/ DF' A'根据我提供的信息填写每一栏 2如何手动填写列中的日期(通过变量)' PERIOD DT'?
答案 0 :(得分:0)
您的missing
列表包含5个元素,而其他列表只有1.您为数据帧传递的dict中的所有列表都应具有相同数量的元素。考虑以下方法。
A = pd.DataFrame({'PERIOD DT': list(pd.to_datetime(currdate)) * len(missing),
'TEAM': missing,
'REGION': ['NA']* len(missing),
'SECTOR': ['OTHER'] * len(missing),
'REVENUE': [0] * len(missing)
})
输出:
PERIOD DT TEAM REGION SECTOR REVENUE
0 3/31/2018 GREEN NA OTHER 0
1 3/31/2018 YELLOW NA OTHER 0
2 3/31/2018 RED NA OTHER 0
3 3/31/2018 BLUE NA OTHER 0
4 3/31/2018 PINK NA OTHER 0