pd.DataFrame({"A": [1]}).squeeze() # -> 1
pd.DataFrame({"A": []}).squeeze() # Noop
The second one is genuinely surprising; I would have expected it to return an empty Series with the name set to A. But it is consisent with numpy (np.array([[], []]).squeeze()) so I've marked is as a doc issue.