python改变numpy数据类型_numpy-Python Pandas-将某些列类型更改为类别
我已將以下CSV文件輸入到iPython Notebook:
public = pd.read_csv("categories.csv")
public
我也將pdas導入為pd,將numpy導入為np,將matplotlib.pyplot導入為plt。 存在以下數據類型(以下是摘要-大約有100列)
In [36]: public.dtypes
Out[37]: parks object
playgrounds object
sports object
roading object
resident int64
children int64
我想將“公園”,“運動場”,“運動”和“道路”更改為類別(它們具有李克特量表響應-盡管每一列都有不同類型的李克特響應(例如,一個人“強烈同意”,“同意” 等),另一個具有“非常重要”,“重要”等),其余部分保留為int64。
我能夠創建一個單獨的數據框public1,并使用以下代碼將其中一列更改為類別類型:
public1 = {'parks': public.parks}
public1 = public1['parks'].astype('category')
但是,當我嘗試使用此代碼一次更改數字時,我沒有成功:
public1 = {'parks': public.parks,
'playgrounds': public.parks}
public1 = public1['parks', 'playgrounds'].astype('category')
盡管如此,我不想僅使用類別列創建單獨的數據框。 我希望它們在原始數據框中更改。
我嘗試了多種方法來實現這一目標,然后在此處嘗試了以下代碼:Pandas:更改列的數據類型...
public[['parks', 'playgrounds', 'sports', 'roading']] = public[['parks', 'playgrounds', 'sports', 'roading']].astype('category')
并得到以下錯誤:
NotImplementedError: > 1 ndim Categorical are not supported at this time
有沒有一種方法可以將“公園”,“游樂場”,“運動”,“道路”更改為類別(這樣就可以分析李克特量表的響應),剩下“居民”和“孩子”(以及其他94列 是字符串,整數+浮點數)嗎? 還是有更好的方法來做到這一點? 如果有人有任何建議和/或反饋,我將不勝感激..am慢慢地禿頭撕開我的頭發!
提前謝謝了。
編輯添加-我正在使用Python 2.7。
總結
以上是生活随笔為你收集整理的python改变numpy数据类型_numpy-Python Pandas-将某些列类型更改为类别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: http 和 https_详解http和
- 下一篇: 搭建python selenium 自动