python - Python Pandas df 问题:“空数据帧的绑定方法 NDFrame.head”
问题描述
我正在为基本日历表构建一个空数据框,然后在一列中填充 pd.date_range 值。问题是数据框在追加后显示为空。这是我的代码:
def date_calendar(table, startdate, enddate, datefreq):
# create a df
df = pd.DataFrame({
'Year': [],
'FY Year': [],
'Quarter': [],
'MonthNum': [],
'YearMonth': [],
'YearMonthShort': [],
'YearMonthNum': [],
'Date': [],
})
# create a date_range specified in function inputs
per1 = pd.date_range(start=startdate,
end=enddate, freq=datefreq)
# make the date_range into a series because .append method doesn't work if per1 is not a series
per2 = per1.to_series()
# append series to df
df['Date'].append(per2)
return df
date_calendar(table, startdate='1-1-2019', enddate='6-30-2024', datefreq='D')
我的结果是:
<空DataFrame列的绑定方法NDFrame.head:[Year,FY Year,Quarter,MonthNum,YearMonth,YearMonthShort,YearMonthNum,Date]索引:[]>
解决方案
将系列附加到 df 时,您需要将结果分配回df['Date']
.
def date_calendar(startdate, enddate, datefreq):
# create a df
df = pd.DataFrame({
'Year': [],
'FY Year': [],
'Quarter': [],
'MonthNum': [],
'YearMonth': [],
'YearMonthShort': [],
'YearMonthNum': [],
'Date': [],
})
# create a date_range specified in function inputs
per1 = pd.date_range(start=startdate,
end=enddate, freq=datefreq)
# make the date_range into a series because .append method doesn't work if per1 is not a series
per2 = per1.to_series()
# append series to df
df['Date'] = df['Date'].append(per2)
return df
date_calendar(startdate='1-1-2019', enddate='6-30-2024', datefreq='D')
推荐阅读
- html - 努力使用下拉输入菜单计算和打印结果
- c# - 从对象数组中获取值更改的索引数组或第一个不同的值
- python - 如何删除嵌套的for循环?
- python-3.x - AWS Textract 创建可搜索的 PDF - 寻找 python 代码
- r - 如何在ggplot2中转换辅助y轴和比例
- java - Android:java.lang.IllegalArgumentException:未知颜色错误
- python - Python 子包 - 绝对导入失败
- pdf - 使用 Pandoc 将 Typora Markdown 批量转换为 PDF 的推荐方法
- python - 如何在 PySpark 中将十六进制字符串转换为十六进制字节格式
- java - 计算对角线数量时运行时错误女王可以从java中棋盘上的特定位置攻击