n3utrino - 3 years ago 159

Python Question

I'm relatively new with numpy and pandas (I'm an experimental physicist so I've been using ROOT for years...).

A common plot in ROOT is a 2D scatter plot where, given a list of x- and y- values, makes a "heatmap" type scatter plot of one variable versus the other.

How is this best accomplished with numpy and Pandas? I'm trying to use the

`Dataframe.plot()`

`import numpy as np`

import pandas as pd

x = np.random.randn(1,5)

y = np.sin(x)

df = pd.DataFrame(d)

First off, this dataframe has shape (1,2), but I would like it to have shape (5,2).

If I can get the dataframe the right shape, I'm sure I can figure out the

`DataFrame.plot()`

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

There are a number of ways to create DataFrames. Given 1-dimensional column vectors, you can create a DataFrame by passing it a dict whose keys are column names and whose values are the 1-dimensional column vectors:

```
import numpy as np
import pandas as pd
x = np.random.randn(5)
y = np.sin(x)
df = pd.DataFrame({'x':x, 'y':y})
df.plot('x', 'y', kind='scatter')
```

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**