【发布时间】:2020-10-27 16:10:37
【问题描述】:
我对随机过程第一次越过阈值感兴趣。我将观察过程的结果存储在数据框中,并绘制了在我观察到 14 轮结束后该过程的几次实现跨越 0.9 的次数。
此图像是使用此代码创建的
import matplotlib.pyplot as plt
plt.style.use('ggplot')
fin = pd.DataFrame(data=np.random.uniform(size=(100, 13))).T
pos = (fin>0.9).astype(float)
ax=fin.loc[:, pos.loc[12, :] != 1.0].plot(figsize=(12, 6), color='silver', legend=False)
fin.loc[:, pos.loc[12, :] == 1.0].plot(figsize=(12, 6), color='indianred', legend=False, ax=ax)
其中fin 包含随机数,而pos 是1 每次该进程越过0.9。
我现在想为每个实现绘制第一次时间fin 中的过程与0.9 交叉(列代表实现,行代表观察时间)
我可以在idxmax() 中找到高于0.9 的值的第一次出现,但我很难理解如何在每列中删除数据框中的所有内容。
import numpy as np
import pandas as pd
df = pd.DataFrame(data=np.random.uniform(size=(100, 10)))
maxes = df.idxmax()
只是我在思考这个问题时遇到了很大的困难。
【问题讨论】:
标签: python pandas matplotlib