为了账号安全,请及时绑定邮箱和手机立即绑定

如何在pandas中获取数据帧的列切片

如何在pandas中获取数据帧的列切片

蓝山帝景 2019-09-18 13:31:10
我从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'])


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 1201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信