我目前正在学习python,我想做以下工作:
我得到一个熊猫数据帧:
Time A B ... Z
2018-10-17 16:49:56 NaN NaN ... 16.28
2018-10-17 22:40:36 NaN 'String' ... NaN
2018-10-20 01:37:32 NaN NaN ... 25.00
2018-10-20 11:30:39 15.0 NaN ... NaN
2018-10-20 12:07:04 NaN NaN ... NaN
我想把它变成这样:
Time A B ... Z
2018-10-17 16:49:56 NaN NaN ... 16.28
2018-10-17 22:40:36 NaN 'String' ... 16.28
2018-10-20 01:37:32 NaN 'String' ... 25.00
2018-10-20 11:30:39 15.0 'String' ... 25.00
2018-10-20 12:07:04 15.0 'String' ... 25.00
我总是把值带到下一行,除非这一行有一个新项。你知道吗
如果我能做到这一点,下一步就是用一个浮点值替换字符串,我可以用df = df.replace('string', value)
将时间转换成一个包含秒数的数字t.hour * 3600 + t.minute * 60 + t.second
将是我使用模块datetime
的第一个选项。目前我不确定这是不是最好的方法,因为我知道,有pandas.to_datetime
。你知道吗
Time A B ... Z
2018-10-17 16:49:56 NaN NaN ... 16.28+0
2018-10-17 22:40:36 NaN value+0 ... 16.28+1
2018-10-20 01:37:32 NaN value+1 ... 25.00+0
2018-10-20 11:30:39 15.0 value+2 ... 25.00+1
2018-10-20 12:07:04 15.0 value+3 ... 25.00+2
列数和行数是可变的。你知道吗
我的想法是,构建一个新的数据帧,并逐行提取和比较数据与旧的数据帧,但我不知道具体怎么做,也许有一个更优雅的方法。你知道吗
你能帮我吗?你知道吗
您可以使用
ffill
docs相关问题 更多 >
编程相关推荐