我有一个以idex作为日期时间的数据帧,不同的id和不同的值 我有一个df:
data = [
{ 'datetime_start' : "2017-03-15 14:31:20.507", "id" : "usr_21", "value": "-1.286452"},
{ 'datetime_start' : "2017-03-16 15:17:45.550", "id" : "usr_15", "value": "-2.349203"},
{ 'datetime_start' : "2017-03-17 14:20:47.437", "id" : "usr_13", "value": "-2.397038"},
{ 'datetime_start' : "2017-03-19 09:43:47.262", "id" : "usr_12", "value": "-1.250512"},
{ 'datetime_start' : "2017-03-19 15:18:47.941", "id" : "usr_21", "value": "-0.681998"},
{ 'datetime_start' : "2017-03-19 20:03:52.905", "id" : "usr_15", "value": "-1.018452"},
{ 'datetime_start' : "2017-03-22 13:40:48.178", "id" : "usr_21", "value": "-1.531373"},
{ 'datetime_start' : "2017-03-22 19:54:48.320", "id" : "usr_18", "value": "-3.789466"},
{ 'datetime_start' : "2017-03-23 13:53:48.789", "id" : "usr_21", "value": "-1.288360"},
{ 'datetime_start' : "2017-03-24 15:54:48.649", "id" : "usr_21", "value": "0.213171"},
{ 'datetime_start' : "2017-03-25 17:53:48.422", "id" : "usr_13", "value": "-2.020710"},
{ 'datetime_start' : "2017-03-26 06:10:48.197", "id" : "usr_12", "value": "-1.484709"},
{ 'datetime_start' : "2017-03-15 14:31:20.507", "id" : "usr_21", "value": "-1.286452"},
{ 'datetime_start' : "2017-03-16 15:18:45.550", "id" : "usr_18", "value": "-2.349203"},
{ 'datetime_start' : "2017-03-17 14:18:47.437", "id" : "usr_11", "value": "-2.397038"},
{ 'datetime_start' : "2017-03-19 09:48:47.262", "id" : "usr_15", "value": "-1.250512"},
{ 'datetime_start' : "2017-03-19 15:18:47.941", "id" : "usr_21", "value": "-0.681998"},
{ 'datetime_start' : "2017-03-19 20:03:52.905", "id" : "usr_13", "value": "-1.018452"},
{ 'datetime_start' : "2017-03-22 13:53:48.178", "id" : "usr_21", "value": "-1.531373"},
{ 'datetime_start' : "2017-03-22 19:53:48.320", "id" : "usr_18", "value": "-3.789466"},
{ 'datetime_start' : "2017-03-23 13:53:48.789", "id" : "usr_21", "value": "-1.288360"},
{ 'datetime_start' : "2017-03-24 15:53:48.649", "id" : "usr_11", "value": "0.213171"},
{ 'datetime_start' : "2017-03-25 16:53:48.422", "id" : "usr_13", "value": "-2.020710"},
{ 'datetime_start' : "2017-03-26 06:08:48.197", "id" : "usr_15", "value": "-1.484709"}
]
df = pd.DataFrame(data)
df['datetime_start'] = pd.to_datetime(df['datetime_start'])
我想要一个数据的表示作为一个轴
^{pr2}$所以对于每个(id,datetime)我们都有一个值 如果没有价值,那就是无
是否有一种优雅的方法可以用以下规则替换None值:
if value(id_i, datetime_i) == None :
if value(id_i, datetime_i-1) != 0 :
value(id_i, datetime_i) = value(id_i, datetime_i-1)
else:
value(id_i, datetime_i) = 0
作为这种传播方式:
我认为您需要先将} 与{})一起使用:
columns=['index']
更改为columns='datetime_start'
,然后使用ffill
(^{用较少的数据编辑:
^{pr2}$如果前一个值不是
None
,则只替换一个值None
-然后添加参数limit
:将所有}并添加
NaN
替换为前一个非NaNs
,最后一个将所有NaN
替换为0
,删除{fillna(0)
:相关问题 更多 >
编程相关推荐