The_Nabzter
The_Nabzter

Reputation: 140

How do I remove name and dtype from pandas output

I have output that looks like this:

nutrition_info_256174499 = df1.loc[:"Salt" , "%Reference Intake*"]

print (nutrition_info_256174499)

Typical Values
Energy                5%
Fat                   1%
of which saturates    1%
Carbohydrates         7%
of which sugars       2%
Fibre                  -
Protein               7%
Salt                  6%
Name: %Reference Intake*, dtype: object

What must be done to remove both Name and dtype at end of output?

Upvotes: 11

Views: 38559

Answers (5)

seralouk
seralouk

Reputation: 33147

Use the .values attribute.

Example:

In [158]: s = pd.Series(['race','gender'], index=[1,2])

In [159]: print(s)
1      race
2    gender
dtype: object

In [160]: s.values
Out[160]: array(['race', 'gender'], dtype=object)

You can convert to a list or access each value:

In [161]: list(s)
Out[161]: ['race', 'gender']

Upvotes: 7

wjandrea
wjandrea

Reputation: 33031

Maybe this isn't exactly what you want, but for what it's worth, if you put the column name in a list, you get a DataFrame out instead of a Series, with the name at the top instead of bottom and no dtype.

df1.loc[:"Salt", ["%Reference Intake*"]]
                   %Reference Intake*
Typical Values                       
Energy                             5%
Fat                                1%
of which saturates                 1%
Carbohydrates                      7%
of which sugars                    2%
Fibre                               -
Protein                            7%
Salt                               6%

Upvotes: 0

Darkonaut
Darkonaut

Reputation: 21664

For printing with preserving index you can use Series.to_string():

df = pd.DataFrame(
    {'a': [1, 2, 3], 'b': [2.23, 0.23, 2.3]},
    index=['x1', 'x2', 'x3'])
s = df.loc[:'x2', 'b']    
print(s.to_string())

Output:

x1    2.23
x2    0.23

Upvotes: 10

warkitty
warkitty

Reputation: 116

print(nutrition_info_256174499.to_string())

that should remove Name: %Reference Intake*, dtype: object in your prints

Upvotes: 1

ThomasAFink
ThomasAFink

Reputation: 1387

Simply converting the dataframe values to a list with .tolist() removes the dtype element. After you can just loop through the list to get the single values:

df_as_a_list = df.values.tolist()

Upvotes: 0

Related Questions