Sure, you'll just need to make separate plot
calls for each point.
However, because each point will have a different marker, things will render rather slowly. If you have several thousand points, this is probably a bad idea. However, at that point, you wouldn't be able to see the numbers, anyway.
As an example:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
num = 30
t = np.linspace(0, 10*np.pi, num)
x, y = np.cos(t), np.sin(t)
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'))
for i in range(num):
ax.plot([x[i]], [y[i]], [t[i]], marker='${}$'.format(i),
markersize=12, color='black')
plt.show()