我正在处理一些数据,其中整天每隔几秒钟记录一次数据。我必须通过每分钟取平均值来重新采样数据。
例如,这是我的数据
Date Time Recorded_data
2019-01-01 00:00:20 0.20
2019-01-01 00:00:25 0.25
2019-01-01 00:00:28 0.16
2019-01-01 00:00:32 0.26
2019-01-01 00:00:36 0.28
2019-01-01 00:00:45 0.26
2019-01-01 00:00:48 0.24
2019-01-01 00:00:56 0.24
2019-01-01 00:01:00 0.18
...
我想重新采样上面的数据
Date Time Recorded_data
2019-01-01 00:00:00 0.23
...
我想每分钟取所有数据的平均值。
我尝试对熊猫进行重新采样,但这只是将Recorded_data列中的所有数据转换为Nan
这是我用来重新采样数据的代码
df.Recorded_data.resample('min').mean()
我在此link中尝试了答案,但似乎不起作用
答案 0 :(得分:2)
如果“日期”和“时间”是单独的列,请首先将它们组合并转换为日期时间。然后,您可以在datetime列上重新采样,
df['datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
df.set_index('datetime').resample('H').Recorded_data.mean().reset_index(name = 'Recorded_data')
你得到
datetime Recorded_data
0 2019-01-01 0.23
答案 1 :(得分:1)
将T
的{{3}}与mean
一起使用,并将on
与参数DatetimeIndex
一起使用,则不需要df['datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
df = df.resample('T', on='datetime').Recorded_data.mean().reset_index(name='Recorded_data')
print (df)
datetime Recorded_data
0 2019-01-01 00:00:00 0.23625
1 2019-01-01 00:01:00 0.18000
:
class SSGIFHistoryModel: NSObject, NSCoding {
var bg_image: String
var total_like: String
var total_view: String
let gifID: String
var title: String
init(bg_image: String, total_like: String, total_view: String, gifID: String, title: String) {
self.bg_image = bg_image
self.total_like = total_like
self.total_view = total_view
self.gifID = gifID
self.title = title
}
required init?(coder aDecoder: NSCoder) {
self.bg_image = aDecoder.decodeObject(forKey: "bg_image") as? String ?? ""
self.total_like = aDecoder.decodeObject(forKey: "total_like") as? String ?? ""
self.total_view = aDecoder.decodeObject(forKey: "total_view") as? String ?? ""
self.gifID = aDecoder.decodeObject(forKey: "gifID") as? String ?? ""
self.title = aDecoder.decodeObject(forKey: "title") as? String ?? ""
}
func encode(with aCoder: NSCoder) {
aCoder.encode(bg_image, forKey: "bg_image")
aCoder.encode(total_like, forKey: "total_like")
aCoder.encode(total_view, forKey: "total_view")
aCoder.encode(gifID, forKey: "gifID")
aCoder.encode(title, forKey: "title")
}
}