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?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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
Method 2
You want just the .values attribute:
In [159]: s = pd.Series(['race','gender'],index=[311,317]) s Out[159]: 311 race 317 gender dtype: object In [162]: s.values Out[162]: array(['race', 'gender'], dtype=object)
You can convert to a list or access each value:
In [163]:
list(s)
Out[163]:
['race', 'gender']
In [164]:
for val in s:
print(val)
race
gender
Method 3
Sometimes I do print(*s, sep='n'):
s = pd.Series(['race', 'gender'], index=[311, 317]) print(*s, sep='n')
gives
race gender
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0