Pandas中iloc方法的逆方法

3

早上好 我想知道如何获取iloc的逆。从日期索引开始,从我想要获得数字0,1,2,...的日期开始。例如,从这个数据集开始:

days = pd.date_range('2007-07-01', '2007-07-05', freq='1D')
np.random.seed(seed=1111)
value1 = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({'dt': days, 'value1':value1}).set_index('dt')
print(df)

我可以通过iloc方法获取单个值:
df.iloc[0]
df.iloc[1]
df.iloc[2]
df.iloc[3]

我希望进行相反的过程:从索引日期(2007-07-01,2007-07-02,2007-07-03,...)开始,获取相应的位置索引 - 0、1、2、3、...
3个回答

2
如果你输入:
df.index[0]
df.index[1]
df.index[2]
...

您可以通过数字索引获取特定位置的索引值。

如果您想要一个日期的数字索引,您可以使用df.index.get_loc('2007-07-04')


也许我没有说清楚。 我将索引日期作为输入,并希望得到行号作为输出: 示例 输入:2007-07-03 输出:2 实际上,通过df.iloc [2],我可以得到2007-07-03。在这里,我想要反过来做。 - Mario Pellegrini
你可以使用 df.index.get_loc(<date>) - Mark

1
使用 df.index:
df.index[0]
df.index[1]

或者更好的方式,作为一个切片:
df.index[0:3]

或者

df.index[[0,1,2,3,7,13]]

我想从日期中获取位置。例如输入:2007-07-03 输出:2 实际上,通过 df.iloc [2] 我得到了 2007-07-03。在这里,我想要反过来做。 - Mario Pellegrini

0

使用你的索引值进行索引,索引值是日期

df.loc['2007-07-01']

根据位置进行索引

df.index[0]

我想从日期中获取位置 - Mario Pellegrini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接