I have a list of items like this:
A = ['1', 'd', 'p', 'bab', '']
My goal is to convert such list into a dataframe of 1 row and 5 columns. If I type pd.DataFrame(A)
I get 5 rows and 1 column. What should I do in order to get the result I want?
Method 1: Using T function This is known as the Transpose function, this will convert the list into a row. Here each value is stored in one column. Example: Python3.
Convert each string of names to a list and use Pandas explode() function to split the list by each element and create a new row for each of them.
You can use:
df = pd.DataFrame([A])
print (df)
0 1 2 3 4
0 1 d p bab
If all values are strings:
df = pd.DataFrame(np.array(A).reshape(-1,len(A)))
print (df)
0 1 2 3 4
0 1 d p bab
Thank you AKS:
df = pd.DataFrame(A).T
print (df)
0 1 2 3 4
0 1 d p bab
This is somewhat peripheral to your particular issue, but I figured I would post it in case it helps someone else out.
To convert a list of lists (and give each column a name), just pass the list to the data attribute (along with your desired column names) when instantiating the new dataframe, like so:
my_python_list = [['foo1', 'bar1'],
['foo2', 'bar2']]
new_df = pd.DataFrame(columns=['my_column_name_1', 'my_column_name_2'], data=my_python_list)
result:
my_column_name_1 my_column_name_2
0 foo1 bar1
1 foo2 bar2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With