我從CSV文件中加載了一些機器學習數(shù)據(jù)。前兩列是觀察,其余列是特征。目前,我做以下事項:data = pandas.read_csv('mydata.csv')這給出了類似的東西:data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))我想兩個dataframes切片此數(shù)據(jù)框:一個包含列a,并b和包含列一個c,d和e。寫不出類似的東西是不可能的observations = data[:'c']features = data['c':]我不確定最好的方法是什么。我需要一個pd.Panel嗎?順便說一下,我發(fā)現(xiàn)數(shù)據(jù)幀索引非常不一致:data['a']是允許的,但data[0]不是。另一方面,data['a':]不允許,但是data[0:]。這是否有實際原因?如果列被Int索引,這實在令人困惑data[0] != data[0:1]
3 回答

慕哥6287543
TA貢獻1831條經(jīng)驗 獲得超10個贊
讓我們使用seaborn包中的泰坦尼克數(shù)據(jù)集作為例子
# Load dataset (pip install seaborn)
>> import seaborn.apionly as sns
>> titanic = sns.load_dataset('titanic')
使用列名稱
>> titanic.loc[:,['sex','age','fare']]
使用列索引
>> titanic.iloc[:,[2,3,6]]
使用ix(比熊貓更高<.20版本)
>> titanic.ix[:,[‘sex’,’age’,’fare’]]
要么
>> titanic.ix[:,[2,3,6]]
使用reindex方法
>> titanic.reindex(columns=['sex','age','fare'])
添加回答
舉報
0/150
提交
取消