Garbage In, Garbage Out is when a user inputs a dataset that is not suitable for a particular analysis, and (s)he gets nonsense as a result. For example, a data analysis algorithm may require that the input to be normally distributed. If user inputs a dataset that is far from being normal distribution, the result will be garbage.
One approach would be for the library to check the data first and warn the user that the data is not suitable. DataFrame doesn’t do that because this approach has many pitfalls:
- It makes the code inefficient and slow
- It makes the code convoluted and hard to understand and maintain
- The check often is more complicated than the algorithm itself and it makes the code bug-prone
DataFrame is not a teaching/educational library -- there are other legitimate libraries for that. Therefore, the DataFrame logic is; if you don't know what you are doing, you deserve what you get.