如何计算数据框中的条件密度?
How do I calculate conditional density in a dataframe?
我有一个如下所示的数据框。
amplitude -13.125 |-13.125 |-11.875 |-11.875 |-11.25 |-11.25
duration -----------|--------|--------|--------|--------|--------
1 NaN |NaN |NaN |NaN |NaN |NaN
2 NaN |0.008032|NaN |NaN |NaN |NaN
3 0.004016|NaN |NaN |NaN |0.004016|0.004016
4 0.9 |NaN |NaN |NaN |NaN |NaN
5 NaN |NaN |NaN |NaN |NaN |NaN
--------------------|--------|--------|--------|--------|--------
sum 0.904016|0.008032|NaN |NaN |0.004016|0.004016
如何找到数据框中行和列相交处的值?另外,我想通过将我找到的值除以 'sum' 中的值来计算密度。
示例:
duration amplitude density
3 -13.125 0.004016/0.904016
2 -13.125 0.008032/0.008032
...
假设求和线是数据框的最后一行:
# 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
我有一个如下所示的数据框。
amplitude -13.125 |-13.125 |-11.875 |-11.875 |-11.25 |-11.25
duration -----------|--------|--------|--------|--------|--------
1 NaN |NaN |NaN |NaN |NaN |NaN
2 NaN |0.008032|NaN |NaN |NaN |NaN
3 0.004016|NaN |NaN |NaN |0.004016|0.004016
4 0.9 |NaN |NaN |NaN |NaN |NaN
5 NaN |NaN |NaN |NaN |NaN |NaN
--------------------|--------|--------|--------|--------|--------
sum 0.904016|0.008032|NaN |NaN |0.004016|0.004016
如何找到数据框中行和列相交处的值?另外,我想通过将我找到的值除以 'sum' 中的值来计算密度。 示例:
duration amplitude density
3 -13.125 0.004016/0.904016
2 -13.125 0.008032/0.008032
...
假设求和线是数据框的最后一行:
# 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