Python M-F 8AM-4PM的熊猫过滤器数据集
有没有给我一个提示,让我过滤一个数据集,只包含周一到周五上午8点到下午4点的数据Python M-F 8AM-4PM的熊猫过滤器数据集,python,pandas,time-series,Python,Pandas,Time Series,有没有给我一个提示,让我过滤一个数据集,只包含周一到周五上午8点到下午4点的数据 import numpy as np import pandas as pd np.random.seed(11) rows,cols = 50000,2 data = np.random.rand(rows,cols) tidx = pd.date_range('2019-01-01', periods=rows, freq='H') df = pd.DataFrame(data, columns=['T
import numpy as np
import pandas as pd
np.random.seed(11)
rows,cols = 50000,2
data = np.random.rand(rows,cols)
tidx = pd.date_range('2019-01-01', periods=rows, freq='H')
df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)
#filter for time
df = df.between_time('8:00', '16:00')
#filter out weekends
df = df[(df.index.weekday < 6)]
df
印刷品
count 16074
unique 1
top Tuesday
freq 16074
Name: dayName, dtype: object
试试这个:
import numpy as np
import pandas as pd
np.random.seed(11)
rows,cols = 50000,2
data = np.random.rand(rows,cols)
tidx = pd.date_range('2019-01-01', periods=rows, freq='H')
df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)
#filter for time
df1 = df.between_time('8:00', '16:00')
#filter out weekends
df1 = df1[df1.index.weekday <= 4]
df1
输出:
Thursday 2682
Tuesday 2682
Wednesday 2682
Friday 2682
Monday 2673
dtype: int64
试试这个:
import numpy as np
import pandas as pd
np.random.seed(11)
rows,cols = 50000,2
data = np.random.rand(rows,cols)
tidx = pd.date_range('2019-01-01', periods=rows, freq='H')
df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)
#filter for time
df1 = df.between_time('8:00', '16:00')
#filter out weekends
df1 = df1[df1.index.weekday <= 4]
df1
输出:
Thursday 2682
Tuesday 2682
Wednesday 2682
Friday 2682
Monday 2673
dtype: int64
df.index.day_name()[0]
返回一个标量“tunday”,即单个值,即第一条记录的值,现在将其设置为数据帧中的一列。这不是正确的方法df['dayName']=df.index.day_name()
不需要使用[0]
df.index.day_name()[0]
返回标量“星期二”单个值,即第一条记录的值,现在您正在将其设置为数据帧中的一列。这不是正确的方法df['dayName']=df.index.day\u name()
不需要使用[0]
进行切片。