我从CSV文件中加载了一些机器学习数据。前两列是观察,其余列是特征。目前,我做以下事项:data = pandas.read_csv('mydata.csv')这给出了类似的东西:data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))我想两个dataframes切片此数据框:一个包含列a,并b和包含列一个c,d和e。写不出类似的东西是不可能的observations = data[:'c']features = data['c':]我不确定最好的方法是什么。我需要一个pd.Panel吗?顺便说一下,我发现数据帧索引非常不一致:data['a']是允许的,但data[0]不是。另一方面,data['a':]不允许,但是data[0:]。这是否有实际原因?如果列被Int索引,这实在令人困惑data[0] != data[0:1]
3 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
让我们使用seaborn包中的泰坦尼克数据集作为例子
# 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
提交
取消