Remove name, dtype from pandas output of dataframe or series

pam picture pam · Apr 15, 2015 · Viewed 50.4k times · Source

I have output file like this from a pandas function.

Series([], name: column, dtype: object)
311     race
317     gender
Name: column, dtype: object

I'm trying to get an output with just the second column, i.e.,

race
gender

by deleting top and bottom rows, first column. How do I do that?

Answer

ALollz picture ALollz · Jul 16, 2019

DataFrame/Series.to_string

These methods have a variety of arguments that allow you configure what, and how, information is displayed when you print. By default Series.to_string has name=False and dtype=False, so we additionally specify index=False:

s = pd.Series(['race', 'gender'], index=[311, 317])

print(s.to_string(index=False))
#   race
# gender

If the Index is important the default is index=True:

print(s.to_string())
#311      race
#317    gender

Series.str.cat

When you don't care about the index and just want the values left justified cat with a '\n'. Values need to be strings, so convert first if necessary.

#s = s.astype(str)

print(s.str.cat(sep='\n'))
#race
#gender