提问人:Moormanly 提问时间:8/9/2019 最后编辑:Moormanly 更新时间:8/10/2019 访问量:191
熊猫系列 .loc[[0,1]] 与 .loc[0:1]
Pandas Series .loc[[0,1]] versus .loc[0:1]
问:
TL的;dr:为什么 .loc[[0,1]] 似乎创建了一个副本,而 .loc
[0:1]
似乎创建了一个引用?
在寻找这个问题的答案时,我发现它的行为与 .例如,如果我有一个熊猫系列,例如:.loc[[0,1]]
.loc[0:1]
>>> import pandas as pd
>>> my_series = pd.Series(dict(x=0, y=1, z=2))
>>> my_series
x 0
y 1
z 2
dtype: int64
我使用索引它,这似乎创建了一个副本.loc[['x','y']]
>>> my_series = pd.Series(dict(x=0, y=1, z=2))
>>> reference = my_series.loc[['x', 'y']]
>>> my_series.x = 10
>>> reference
x 0
y 1
dtype: int64
而当我使用 索引它时,这似乎创建了一个引用.loc['x':'y']
>>> my_series = pd.Series(dict(x=0, y=1, z=2))
>>> reference = my_series.loc['x':'y']
>>> my_series.x = 10
>>> reference
x 10
y 1
dtype: int64
这是怎么回事?
相同的行为仍然存在,省略了.loc
>>> reference = my_series[['x', 'y']]
和
>>> reference = my_series['x':'y']
我在文档中看到了这个页面 返回视图与副本,但它没有解释观察到的行为差异。
答: 暂无答案
评论
my_series.x
0
x
10
pandas
numpy