如何使用“iloc”和“loc”方法代替.ix方法进行索引切片让我们只是说在特定时间范围内获取数据?

时间:2018-05-22 05:21:29

标签: python pandas

sns.distplot(returns.ix['2015-01-01':'2015-12-31']['MS Return'],color='green',bins=100)

在运行此代码时出现错误,因此如何使用“iloc”和“loc”方法替换它。

数据头如下:

BAC Return  C Return    GS Return   JPM Return  MS Return   WFC Return

日期

2017-12-29  NaN NaN NaN NaN NaN NaN
2017-12-28  0.009485    0.009004    0.006830    0.007948    0.003431    0.010384
2017-12-27  -0.002349   -0.002531   -0.002144   -0.005288   -0.001519   -0.005710

2 个答案:

答案 0 :(得分:0)

就像你使用.ix一样    start,end - datetime格式,不是字符串

dataframe.loc [开始:结束]

首先检查dataframe.index是否返回datetime而不是整数 否则使用dataframe.set_index()方法

答案 1 :(得分:0)

iloc和loc将ix所做的工作分成两部分。

使用iloc像numpy数组一样处理数据集(例如returns.iloc [10:20,0:5],。head()等效于.iloc [:5])。

使用loc按索引访问行,因此您的代码应为:

sns.distplot(returns.loc['2015-01-01':'2015-12-31']['MS Return'],color='green',bins=100)