Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数据帧在熊猫中创建条件概率_Python_Pandas - Fatal编程技术网

Python 从数据帧在熊猫中创建条件概率

Python 从数据帧在熊猫中创建条件概率,python,pandas,Python,Pandas,我有熊猫数据帧df中的概率(从2011年7月1日到2011年7月31日,在15分钟内)。 以下是摘录: Date_Time prob 0 2011-07-01 00:00:00 0.0112 1 2011-07-01 00:15:00 0.0224 2 2011-07-01 00:30:00 0.0112 3 2011-07-01 00:45:00 0.0896 4 2011-07-01 01:00:00 0.0112 5 2011-07-01

我有熊猫数据帧df中的概率(从2011年7月1日到2011年7月31日,在15分钟内)。 以下是摘录:

         Date_Time      prob
0  2011-07-01 00:00:00  0.0112
1  2011-07-01 00:15:00  0.0224
2  2011-07-01 00:30:00  0.0112
3  2011-07-01 00:45:00  0.0896
4  2011-07-01 01:00:00  0.0112
5  2011-07-01 01:15:00  0.0112
6  2011-07-01 01:30:00  0.0336
7  2011-07-01 01:45:00  0.1081
8  2011-07-01 02:00:00  0.0112
我想计算一个15分钟周期的条件概率(给定B的概率->p(A | B)),一个她四个(!)的先行者。每一行(周期)都是这样。 这意味着(我在这里使用索引来命名行):

p(4 | 0),p(4 | 1),p(4 | 2),p(4 | 3)

p(5 | 1),p(5 | 2),p(5 | 3),p(5 | 4)

等等

公式是:p(A | B)=p(A和B)/p(B,也就是(p(A)*p(B)/p(B))

对不起,我不知道该怎么做。也许有一个有用的pandas函数,我可以拟合它,但我没有找到任何东西。

你可以用它来计算所有这些概率

>>> for i in range(1,5):
...     probB = df.shift(i)['prob']
...     probA = df['prob']
...     df['prob -' + str(i)] = (probA * probB) / probB
... 
>>> df
             Date_Time    prob  prob -1  prob -2  prob -3  prob -4
0 2011-07-01  00:00:00  0.0112      NaN      NaN      NaN      NaN
1 2011-07-01  00:15:00  0.0224   0.0224      NaN      NaN      NaN
2 2011-07-01  00:30:00  0.0112   0.0112   0.0112      NaN      NaN
3 2011-07-01  00:45:00  0.0896   0.0896   0.0896   0.0896      NaN
4 2011-07-01  01:00:00  0.0112   0.0112   0.0112   0.0112   0.0112
5 2011-07-01  01:15:00  0.0112   0.0112   0.0112   0.0112   0.0112
6 2011-07-01  01:30:00  0.0336   0.0336   0.0336   0.0336   0.0336
7 2011-07-01  01:45:00  0.1081   0.1081   0.1081   0.1081   0.1081
8 2011-07-01  02:00:00  0.0112   0.0112   0.0112   0.0112   0.0112

如果
P(A | B)=P(A)*P(B)/P(B)
,那么
A
B
是独立的,
P(A | B)=P(A)
。所以不需要计算…谢谢!!我试过了。很抱歉,我得到了:
TypeError:插入列的索引与框架索引不兼容
出了什么问题?@EP1986您能用小示例数据集重现错误并发布到这里吗?