Python df[:]和df[:]之间的主要区别是什么?蟒蛇3

Python df[:]和df[:]之间的主要区别是什么?蟒蛇3,python,python-3.x,python-2.7,jupyter-notebook,Python,Python 3.x,Python 2.7,Jupyter Notebook,df[:]和df[:]之间的主要区别是什么?请给我一个关于这一点的示例。我无法理解。假设您谈论的是python列表,而不是熊猫数据帧: 考虑一个列表l: In [301]: l = range(20,30) In [302]: l Out[302]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29] 所以,如果你做了如下事情: In [303]: l[3:6] Out[303]: [23, 24, 25] 这意味着,您要从l从index=3到index=6(

df[:]和df[:]之间的主要区别是什么?请给我一个关于这一点的示例。我无法理解。

假设您谈论的是
python列表,而不是
熊猫
数据帧:

考虑一个列表
l

In [301]: l = range(20,30)

In [302]: l
Out[302]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
所以,如果你做了如下事情:

In [303]: l[3:6]
Out[303]: [23, 24, 25]
这意味着,您要从
l
从index=3到index=6(不包括6)提取元素列表。因此,它返回了
23
即l[3]、
24
即l[4]和
25
即l[5]

注意:
26
(l[6])未返回,因为
6
未包含在
l[3:6]

因此,l[:]--将返回所有元素,因为没有指定范围

In [305]: l[:]
Out[305]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
对于扩展切片:

l[1:6:2]——这意味着您希望元素从index=1到index=6,步长为2。步骤=2表示,将每个索引增加2

So, you should get below elements:
 l[1], 
 l[1 + 2](because the step we defined is 2), 
 l[1 + 2 + 2]( keep adding `2` to the previous index )
现在,前面的指数是
5
,我们给出的限制是
6
,其中
6
不包括在内。因此,我们只得到上面提到的3个元素。检查以下内容:

In [307]: l[1:6:2]
Out[307]: [21, 23, 25]
因此,l[::]也将返回整个列表,正如我们所看到的那样;我没有在这里指定任何范围

In [309]: l[::]
Out[309]: [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
您需要在python中练习字符串的切片,以掌握它的窍门


如果有帮助,请告诉我。

没有区别

sequence[start:end:step]
sequence[start:end]
“:”和“::”表示序列的片段。如果省略了开始、结束和/或步骤,则使用默认值:0是开始的默认值,len(序列)是结束的默认值,1是步骤的默认值

如果,
df=[1,2,3,4,5,6,7,8]

[df[::]==df[:], df[:] == df[0: len(df): 1], df[::] == df[0: len(df): 1]]

Outputs: [True, True, True]

熊猫?纯python?请求标签是怎么回事?几乎可以肯定pandaspure python中的多维索引:没有区别现在无法测试,但是pandas中的切片和视图(前者制作静默副本)可能会有所不同