我想將DataFrame的列的dtypes初始化爲分類類型,並在其創建時指定每個列的類別。熊貓:在DataFrame構造函數中定義分類dtype
這種方式似乎不太有效,因爲我遍歷animals
兩次:
col_name = pd.Categorical([a.name for a in animals], categories=['bird','cat','dog'])
col_food = pd.Categorical([a.food for a in animals], categories=['meat','veggies'])
df = pd.DataFrame({'Animal': col_name, 'Food': col_food})
這種方式似乎更有效,因爲我遍歷animals
只有一次,但我怎麼能指定類別列類別?:
df = pd.DataFrame([{'Animal': a.name, 'Food': a.food} for a in animals],
dtype={'Animal': ???, 'Food': ???})
我也想避免首先創建DataFrame,然後將列的類型轉換爲分類。
喜歡的東西: dtype={'Food': dtype('category', categories=['meat','veggies]), ...}
什麼是'動物'?另一個DF? – jezrael
也許作品'dtype = {'Animal':「category」,'Food':「category」})' – jezrael
@jezrael不,只是一個簡單的Python對象列表類對象 – Qululu