Was able to import a CSV while trying to perform squeeze but it looks like a data frame instead of a series?
This is what I tried
import pandas as pd import numpy as np dnd_name = pd.read_csv(r"dnd-dataframe.csv", usecols = ["name"], squeeze = True) dnd_name.head()
this is what I expected at least I remember learning the output was not a data frame but more like a series?
I was expecting it would come in like a series and less like data frame and look something like this
name bam Bard Dagger, sling, club Transmutation, Enchantment niem Sorcerer light crossbow, battleaxe Necromancy aem Paladin Greataxe Abjuration, Conjuration yaeks Rogue club, battleaxe Conjuration, Evocation, Transmutation jeeks Druid Dagger, Greataxe Evocation, Transmutation, Necromancy Name: Type, dtype: object
this is the errors
But instead, I received an error
    import pandas as pd
    import numpy as np
    
    dnd_name = pd.read_csv(r"dnd-dataframe.csv", usecols = ["name"], squeeze = True)
    dnd_name.head()
error received
    usecols_dtype = lib.infer_dtype(usecols, skipna=False)
    
    ValueError: 'usecols' must either be list-like of all strings, all unicode, all integers or a callable.
I also was tried this which worded but also didn’t look as expected
    import pandas as pd
    import numpy as np
        
    dnd_name = pd.read_csv(r"dnd-dataframe.csv", index_col = "name", squeeze = True)
    dnd_name.head()
Note: non-picture data frame below
link to actual dataframe csv csv on github

I can import it normally into a data frame and I get the
import pandas as pd
import numpy as np
dnd_df = pd.read_csv(r"dnd-dataframe.csv")
dnd_df.head()
    name    herotype    weapons                      spells
0   bam     Bard        Dagger, sling, club          Transmutation, Enchantment
1   niem    Sorcerer    light crossbow, battleaxe    Necromancy
2   aem     Paladin     Greataxe                     Abjuration, Conjuration
3   yaeks   Rogue       club, battleaxe              Conjuration, Evocation, Transmutation
4   jeeks   Druid       Dagger, Greataxe             Evocation, Transmutation, Necromancy
After fixing import using siamak safari comments
    import pandas as pd
    import numpy as np
        
    dnd_names = pd.read_csv(r"dnd-dataframe.csv", usecols = ["name", "herotype", "weapons", "spells"], squeeze = True)
    dnd_names.head()
    name    herotype    weapons     spells
0   bam     Bard    Dagger, sling, club     Transmutation, Enchantment
1   niem    Sorcerer    light crossbow, battleaxe   Necromancy
2   aem     Paladin     Greataxe    Abjuration, Conjuration
3   yaeks   Rogue   club, battleaxe     Conjuration, Evocation, Transmutation
4   jeeks   Druid   Dagger, Greataxe    Evocation, Transmutation, Necromancy
As pointed out by Gregor what I am trying will not work with multiple columns but if i make new csv with only 2 columns one for index and another it works.
dnd_name1 = pd.read_csv(r"dnd-dataframe-v2.csv", index_col = ["name"], squeeze = True) dnd_name1.head() name bam Bard niem Sorcerer aem Paladin yaeks Rogue jeeks Druid Name: herotype, dtype: object
Advertisement
Answer
The parameter squeeze is DEPRECATED since pandas version 1.4.0.
Append .squeeze("columns") to a dataframe, and you will get a series.
See document: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
 
						