我有一个df像以下一样的DataFrame (摘录,'Timestamp'是索引):
Timestamp Value
2012-06-01 00:00:00 100
2012-06-01 00:15:00 150
2012-06-01 00:30:00 120
2012-06-01 01:00:00 220
2012-06-01 01:15:00 80
...and so on.
Run Code Online (Sandbox Code Playgroud)
我需要一个新列df['weekday'],其中包含时间戳的相应工作日/星期几.
我怎么能得到这个?
我有一只大熊猫 DataFrame
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 3425100 entries, 2011-12-01 00:00:00 to 2011-12-31 23:59:59
Data columns:
sig_qual 3425100 non-null values
heave 3425100 non-null values
north 3425099 non-null values
west 3425097 non-null values
dtypes: float64(4)
Run Code Online (Sandbox Code Playgroud)
我选择使用的子集,然后DataFrame将其.ix[start_datetime:end_datetime]传递给peakdetect函数,该函数返回两个单独列表中的局部最大值和最小值的索引和值.我提取了最大值的索引位置,并使用DataFrame.index我获得的Pandas TimeStamps列表.
然后我尝试通过传递TimeStamps列表来提取大型DataFrame的相关子集,.ix[]但它似乎总是返回一个空的DataFrame.我可以循环遍历TimeStamps列表并从中获取相关的行,DataFrame但这是一个漫长的过程,我认为ix[]应该接受根据文档的值列表?
(虽然我看到,熊猫0.7的示例使用numpy.ndarray的numpy.datetime64)
更新: 下面选择了一个8秒的DataFrame子集,#lines显示了一些值:
y = raw_disp['heave'].ix[datetime(2011,12,30,0,0,0):datetime(2011,12,30,0,0,8)]
#csv representation of y time-series
2011-12-30 00:00:00,-310.0
2011-12-30 00:00:01,-238.0
2011-12-30 00:00:01.500000,-114.0
2011-12-30 00:00:02.500000,60.0
2011-12-30 00:00:03,185.0 …Run Code Online (Sandbox Code Playgroud)