1

What I have below is an example of the type of the type of concatenation that I am trying to do.

df = pd.DataFrame(np.array([1, 2, 3]).reshape((1, 3)), columns = ['col1', 'col2', 'col3'], index = ['a']) df2 = pd.DataFrame() # already exists elsewhere in code df2 = df2.append([df, pd.Series(1, name = 'label')]) 

The result I am hoping for is:

 col1 col2 col3 label a 1.0 2.0 3.0 1 

but I get is

 col1 col2 col3 0 a 1.0 2.0 3.0 NaN 0 NaN NaN NaN 1.0 

I know that I'm joining these wrong, but I cannot seem to figure out how its done. Any advice?

1 Answer 1

1

This is because the series you are adding has an incompatible index. The original dataframe has ['a'] as the specified index and there is no index specified in the series. If you want to add a new column without specifying an index, the following will give you what you want:

df = pd.DataFrame(np.array([1, 2, 3]).reshape((1, 3)), columns = ['col1', 'col2', 'col3'], index = ['a']) df2 = pd.DataFrame() # already exists elsewhere in code df2 = df2.append([df]) # append the desired dataframe df2['label'] = 1 # add a new column with the value 1 across all rows 
print(df2.to_string()) col1 col2 col3 label a 1 2 3 1 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.