我有一组数据点,其中一些数据点共享相同的日期索引
$row_count = sqlsrv_num_rows($stmt);
如何获得具有指定时段的工作日作为索引的熊猫数据框(此处为2016年1月)以及df中的数字与其对齐?
import pandas as pd
df = pd.DataFrame({'Date':["2016-01-08","2016-01-15", "2016-01-15", "2016-01-23"],
'Set': ["1", "2", "3", "4"]})
df
Out[2]:
Date Set
0 2016-01-08 1
1 2016-01-15 2
2 2016-01-15 3
3 2016-01-23 4
答案 0 :(得分:1)
由于您正在使用DatetimeIndex
,我使用Series
而不是DataFrame
来构建您的示例:
s = pd.Series({"2016-01-08":1,
"2016-01-15":2,
"2016-01-16":3,
"2016-01-23":3})
然后我会分配日期时间索引:
s.index = pd.DatetimeIndex(s.index)
然后我只使用以下内容构建新的工作日索引:
bd = pd.bdate_range('2016-01-01', '2016-01-31')
并重新索引原始系列:
s = s.reindex(bd)
返回:
2016-01-01 NaN
2016-01-04 NaN
2016-01-05 NaN
2016-01-06 NaN
2016-01-07 NaN
2016-01-08 1
2016-01-11 NaN
2016-01-12 NaN
2016-01-13 NaN
2016-01-14 NaN
2016-01-15 2
2016-01-18 NaN
2016-01-19 NaN
2016-01-20 NaN
2016-01-21 NaN
2016-01-22 NaN
2016-01-25 NaN
2016-01-26 NaN
2016-01-27 NaN
2016-01-28 NaN
2016-01-29 NaN
Freq: B, dtype: float64
这不能解决重复索引的问题,但希望有所帮助。