Python 如何计算数据帧中的条件密度?
我有一个像下面这样的数据框Python 如何计算数据帧中的条件密度?,python,pandas,dataframe,data-science,probability-density,Python,Pandas,Dataframe,Data Science,Probability Density,我有一个像下面这样的数据框 振幅-13.125 |-13.125 |-11.875 |-11.875 |-11.25 |-11.25 持续时间-----------|--------|--------|--------|--------|-------- 1楠|楠|楠|楠|楠 2楠| 0.008032楠|楠|楠|楠 3 0.004016 |南|南|南| 0.004016 | 0.004016 4 0.9 |楠|楠|楠|楠 5楠|楠|楠|楠|楠 --------------------|-----
振幅-13.125 |-13.125 |-11.875 |-11.875 |-11.25 |-11.25
持续时间-----------|--------|--------|--------|--------|--------
1楠|楠|楠|楠|楠
2楠| 0.008032楠|楠|楠|楠
3 0.004016 |南|南|南| 0.004016 | 0.004016
4 0.9 |楠|楠|楠|楠
5楠|楠|楠|楠|楠
--------------------|--------|--------|--------|--------|--------
总和0.904016 | 0.008032 |南|南| 0.004016 | 0.004016
如何在数据框中行和列的交点处找到值?另外,我想用我找到的值除以‘sum’中的值来计算密度。
例如:
假设求和行是数据帧的最后一行:
# Divide every line except the last line by the last line
density = (df.iloc[:-1] / df.iloc[-1]).stack().to_frame('density')
结果:
density
duration amplitude
2 -13.125 1.000000
3 -13.125 0.004442
-11.250 1.000000
-11.250 1.000000
4 -13.125 0.995558
density
duration amplitude
2 -13.125 1.000000
3 -13.125 0.004442
-11.250 1.000000
-11.250 1.000000
4 -13.125 0.995558