Python:按列表分割数据帧会返回比预期更长的列表

2024-10-01 15:32:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有517个元组的列表。当我使用这个列表来使用.loc分割我的数据帧时,不知怎么的,总共有518行。如果很重要的话,这是一个多索引的517个元组。目视检查结果似乎没有明显的标题或空行

print(submatrix2.shape)
x = list(get_list_of_university_towns().itertuples(index=False, name=None))
print(len(x))
univ_matrix = submatrix2.loc[x,] 
print(univ_matrix.shape)

输出:

(10730, 1)
517
(518,1)

是什么导致了这种不匹配


Tags: of数据标题列表getmatrixloclist
1条回答
网友
1楼 · 发布于 2024-10-01 15:32:58

您可能有一个重复的索引,它允许您的最终形状大于您传递的列表

可复制示例:

df = pd.DataFrame({'vals':["a", "b", "c", "d"],
                   'n':[0,1,1,2]})

df = df.set_index('n')


    vals
n   
0   a
1   b
1   c
2   d

现在

>>> x=[0,1,2];len(x)
3
>>> df.loc[x,:].shape
(4, 1)

相关问题 更多 >

    热门问题