So far, we've been using h2o.ImportFile to bring in data from a publicly available data set. But what about when you have data already in your R session or in your Python session that you want to get into h2o? For that, you use the as.h2o function. It takes a data frame, so I'm just going to, now let's start H2O. And then I'm going to create some random data. It's a sineWave and I'm using jitter to give it a bit of random noise. These are two vectors at the moment, now they're a single data frame. I want to point out it's called x and y here. But as I make the data frame, I'm calling the data frame sineWave and I'm calling the columns a and b, instead of x and y. Let me import it. When we go and look at it, we'll see the columns have been given the names, a and b. If I want to see the final 6 rows, I use tail. Let's just go over to Flow and see what it looks like there. Look at getframes. And you see it's 1001 rows, 2 columns, and it's been given the same name as our data frame was given in R. It's used this name. What about when we want to move data in the opposite direction, from H2O into our R client? Then you use as.data.frame, and the same column headings that it had on the server. Okay, let's quickly look how to do that in Python. For any data manipulation in Python, I'm going to be using numpy and pandas. And I'm going to plot with maplotlib. They're not H2O requirements, but if you're going to do serious data science in Python, you're going to be using them. H2O, right. Again we create 1001 x values. I'll show you what they look like. And then I'm using a normally distributed random number generator. So 68% of the values will be plus or minus 0.1 and plot shows that looks about right. Now I am going to turn those two coordinates in to a pandas data frame. And then to get it into H2O, we use h2o.H2OFrame and then our pandas data set. Okay. And again we can see that it's used the column names automatically. But if we go over to Flow, This is what we just uploaded. Key_Frame__Upload, ugly. It doesn't use the name. So what we actually want to do when using h2o.HOFrame, is specify destination_frame to the name we'd like to see it have on the H2O server. This is optional. If you're never actually going to look at the data in Flow, you don't need it. But at some point, you probably are. It's going to be worth your while specifying destination_frame. And now we come here. The previous upload is still there because I haven't deleted it. That's the one we uploaded from R. This is the one I've just uploaded from Python. First use our Python variable and then as_data_frame. And this will turn it into a pandas data frame. So you can see we have all 1001 rows have been downloaded back into Python.