I am unsure what exactly you mean by 'length of each individual object path'. If you want to add the distance between each 2 successive points in the dataframe, with the last point connecting to the first, use something like this:
import math
data = {"x": [0,2,6,4,0,3,6]
"y": [0,4,2,3,4,1,7]
}
df = pd.DataFrame(data)
points = list(df.to_records(index=False))
total_length = sum(math.hypot(p[i][0] - p[i-1][0], p[i][1] - p[i-1][1]) for i,_ in enumerate(p))
print(total_length)
If instead you would like to find a 2d convex hull (i.e. the minimum bounding polygon) for the set of 2d points, use scipy library for this. Try this code out:
from scipy.spatial import ConvexHull, convex_hull_plot_2d
points_arr = np.array([[x,y] for x,y in points])
hull = ConvexHull(points_arr)
import matplotlib.pyplot as plt
plt.plot(points_arr[:,0], points_arr[:,1], 'o')
hs = hull.simplices
for simplex in hull.simplices:
plt.plot(points_arr[simplex, 0], points_arr[simplex, 1], 'k-')
total_length = sum(math.dist(hs[i], hs[i-1]) for i,_ in enumerate(hs))
print(total_length)