Hey Alberto, thanks for your fast reply!

I understand what you’re saying, and thanks for the article since it was very useful to solidify a little bit more the basic concepts, but I still have a question then, and let me illustrate it with an example this time:

Imagine I have this:

```
df = pd.DataFrame({"feature_1":np.random.randint(0,2,100),
"feature_2":np.random.randint(0,2,100),
"feature_3":np.random.randint(0,2,100)})
```

In this case each row is a different example and each column a different feature (for instance, a (100, 3) shaped matrix).

Now, because we don’t want to process a DataFrame but rather an np.array, once we turn it into one we’re going to have something like this:

The shape on this one is going to be (100, 3) again.

Assuming that I process my data in this way (DataFrame → np.Array where dimensions are (#examples, #features), would I have to **transpose** the matrix (leaving it shaped like it’s mentioned in the article) to correctly apply the different algorithms? Is that how most people work?

Maybe future exercises clarify this, but I couldn’t really answer my question with the image processing exercise since you basically turn the matrix into one really big array.

I hope this makes my question a little bit more clear, if it’s not tell me and I’ll rephrase it.

Thanks!