Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create Pandas DataFrame from a string

In order to test some functionality I would like to create a DataFrame from a string. Let's say my test data looks like:

TESTDATA="""col1;col2;col3 1;4.4;99 2;4.5;200 3;4.7;65 4;3.2;140 """ 

What is the simplest way to read that data into a Pandas DataFrame?

like image 612
Emil H Avatar asked Mar 24 '14 08:03

Emil H


People also ask

How do I create a panda DataFrame?

To create a dataframe, we need to import pandas. Dataframe can be created using dataframe() function. The dataframe() takes one or two parameters. The first one is the data which is to be filled in the dataframe table.

Can we create DataFrame from array?

Since a DataFrame is similar to a 2D Numpy array, we can create one from a Numpy ndarray . You should remember that the input Numpy array must be 2D, otherwise you will get a ValueError. If you pass a raw Numpy ndarray , the index and column names start at 0 by default.


1 Answers

A simple way to do this is to use StringIO.StringIO (python2) or io.StringIO (python3) and pass that to the pandas.read_csv function. E.g:

import sys if sys.version_info[0] < 3:      from StringIO import StringIO else:     from io import StringIO  import pandas as pd  TESTDATA = StringIO("""col1;col2;col3     1;4.4;99     2;4.5;200     3;4.7;65     4;3.2;140     """)  df = pd.read_csv(TESTDATA, sep=";") 
like image 167
Emil H Avatar answered Sep 23 '22 12:09

Emil H