小编fee*_*wet的帖子

Pandas 边走边向前填充并求和

我有一个稀疏的数据框,包括购买或出售库存的日期,如下所示:

Date         Inventory
2017-01-01       10 
2017-01-05       -5
2017-01-07       15
2017-01-09      -20
Run Code Online (Sandbox Code Playgroud)

我想解决的第一步是添加其他日期。我知道您可以使用重新采样,但只需突出显示这部分,以防它对下一个更困难的部分产生影响。如下:

Date         Inventory
2017-01-01       10
2017-01-02       NaN
2017-01-03       NaN
2017-01-04       NaN
2017-01-05       -5
2017-01-06       NaN
2017-01-07       15
2017-01-08       NaN
2017-01-09      -20
Run Code Online (Sandbox Code Playgroud)

最后一步是让它向前填充 NaN,除非它遇到一个新值,该值会添加到上面行的当前值中,以便最终的数据帧如下所示:

Date         Inventory
2017-01-01       10
2017-01-02       10
2017-01-03       10
2017-01-04       10
2017-01-05       5
2017-01-06       5
2017-01-07       20
2017-01-08       20
2017-01-09       0
2017-01-10       0
Run Code Online (Sandbox Code Playgroud)

我正在尝试采用 pythonic 方法来解决此问题,而不是基于循环的方法,因为那样会非常慢。

该示例也适用于具有多列的表,如下所示:

Date         InventoryA       InventoryB
2017-01-01       10              NaN
2017-01-02       NaN             NaN
2017-01-03       NaN              5
2017-01-04       NaN              5
2017-01-05       -5              NaN
2017-01-06       NaN …
Run Code Online (Sandbox Code Playgroud)

python date pandas cumsum

1
推荐指数
1
解决办法
2747
查看次数

Pandas使用loc在Multi Index DataFrame中进行赋值

我已经初始化了这样的数据帧

df = pd.DataFrame(columns=["stockname","timestamp","price","volume"])
df.timestamp = pd.to_datetime(df.timestamp, format = "%Y-%m-%d %H:%M:%S:%f")
df.set_index(['stockname', 'timestamp'], inplace = True)
Run Code Online (Sandbox Code Playgroud)

现在我从某个地方获取数据流但是为了程序,让我这样写

filehandle = open("datasource")

for line in filehandle:
    line = line.rstrip()
    data = line.split(",")
    stockname = data[4]
    price = float(data[3])
    timestamp = pd.to_datetime(data[0], format = "%Y-%m-%d %H:%M:%S:%f")
    volume = int(data[6])

    df.loc[stockname, timestamp] = [price, volume]

filehandle.close()

print df
Run Code Online (Sandbox Code Playgroud)

python indexing dataframe python-2.7 pandas

1
推荐指数
1
解决办法
2478
查看次数

在Excel中将hhmmss转换为时间

我有一段时间的hhmmss格式.将它们转换为Excel时间值的公式是什么?

请注意,它们不一定是零填充.例如,09:21:34可能会出现92134而不是092134.

excel

0
推荐指数
1
解决办法
2351
查看次数

为什么我不能在选择器上设置innerHTML?

在这个页面上:

<div id="myMessage">Text to change</div>
Run Code Online (Sandbox Code Playgroud)

以下将成功更改显示的文本:

document.getElementById("myMessage").innerHTML = "New text!";
Run Code Online (Sandbox Code Playgroud)

但使用div的选择器不会:

$("myMessage").innerHTML = "This text will not appear!";
Run Code Online (Sandbox Code Playgroud)

为什么?

jquery dom

0
推荐指数
1
解决办法
536
查看次数

如何使用 Excel VBA 比较时间

我的单元格中有一个日期值(假设A1),我想使用 VBA 检查该日期的时间是否大于或小于特定时间(假设 13 小时)。我怎样才能做到这一点?我试过:

if Cells(1,1)<TimeValue("13:00:00") then
'Something
end if
Run Code Online (Sandbox Code Playgroud)

但这没有用。

另外,如果我想获得时差,例如我想知道 13:00:00 和 13:10:00(即 10 分钟)之间的差异,我该怎么做?

excel vba

-1
推荐指数
1
解决办法
3万
查看次数

标签 统计

excel ×2

pandas ×2

python ×2

cumsum ×1

dataframe ×1

date ×1

dom ×1

indexing ×1

jquery ×1

python-2.7 ×1

vba ×1