Python 为什么要重新编制索引而不是使用.loc?
在pandas的早期版本中,只要值列表至少包含一个现有键,就可以使用Python 为什么要重新编制索引而不是使用.loc?,python,pandas,Python,Pandas,在pandas的早期版本中,只要值列表至少包含一个现有键,就可以使用.loc[值列表] 但是,pandas已将此功能替换为reindex功能。我个人喜欢.loc功能,因为它与索引切片和其他.loc行为配合得很好。想知道他们为什么决定这么做吗?据我所知 如果您有下面的系列,并且索引为0-3,并且我们希望得到索引之外的一些索引,我们应该执行重新索引 s=pd.Series([1,2,3,4]) s.reindex([100]) 100 NaN dtype: float64 如果使用loc,它将
.loc[值列表]
但是,pandas已将此功能替换为reindex功能。我个人喜欢
.loc
功能,因为它与索引切片和其他.loc
行为配合得很好。想知道他们为什么决定这么做吗?据我所知
如果您有下面的系列
,并且索引为0-3,并且我们希望得到索引之外的一些索引,我们应该执行重新索引
s=pd.Series([1,2,3,4])
s.reindex([100])
100 NaN
dtype: float64
如果使用loc
,它将返回错误
s.loc[100]
这一变化似乎将在上一节中详细讨论 有(至少)三种方法可以处理缺少的标签:
- a) 。。。如果至少存在一个标签,则缺少的标签将变为NaN(当前)
- b) 。。。而如果至少存在一个标签,则丢失的标签将自动删除
- a) 。。。他们变成了南
- b) 。。。它们静静地落下
pd.concat([chunk.loc[something]表示块中的块])
及
pd.concat(chunks.loc[something]
两者都返回相同的结果(或raise)。取而代之的是2。这实际上取决于丢失的标签如何分布在块中
归根结底,这是设计理念的问题,每种方法都有其优缺点。你能举一个例子,说明你想用
.loc
做什么,但你不能再做了吗?建议仍然可以传递一系列标签。从中,熊猫团队似乎希望对loc