Exploring
Trying out a few values we see that the values get higher for larger $n$.
(we have drawn a red line based on the bound computed below)
f = function(n,p) {
x = 0:n
px = dbinom(x,n,p)
x[1] = 1
return(sum(px*n*p/x))
}
f = Vectorize(f)
p = seq(0,1,0.001)
plot(-1,-1, xlim = c(0,1), ylim = c(0,2),
xlab = "p", ylab = "E[np/x]")
title("exploring the bound")
for (ni in c(1:10)) {
lines(p,f(ni*10,p))
}
lines(c(0,1),opt*c(1,1), col = 2)
Computing/approximating attempt
Based on the above (tendency to high n and small p) we can try and approximate the sum by replacing the binomial distribution with a Poisson distribution with $\lambda = np$
$$f(k) \approx \frac{\lambda^k e^{-\lambda}}{k!}$$
and let Wolfram alpha compute
$$\sum_{k=1}^\infty \frac{\lambda}{k} \frac{\lambda^k e^{-\lambda}}{ k!} = -e^{-\lambda}\lambda(log(\lambda)-Ei(\lambda)+ \gamma)$$
We arrive at
$$E[np/k] \approx e^{-np}np(1-log(np)+Ei(np)- \gamma) $$
(where we added an extra term $np e^{-np}$ to capture the contribution of $k=0$)
Maybe this can be differentiated, but I had it computed and arrive at a bound of approximately
$$\phi \approx 1.386317$$
x <- seq(0,6,0.1)
y <- -exp(-x)*x*(log(x)-expint::expint_Ei(x)+0.57721)+x*exp(-x)
plot(x,y)
opt <- max(y, na.rm = TRUE)
opt
### opt = 1.386317