Python:按列表分割数据帧会返回比预期更长的列表
我有517个元组的列表。当我使用该列表使用.loc对我的数据帧进行切片时,不知何故总共有518行。如果很重要的话,这些是一个多索引的517个元组。目视检查结果似乎没有明显的标题或空行Python:按列表分割数据帧会返回比预期更长的列表,python,multi-index,numpy-slicing,Python,Multi Index,Numpy Slicing,我有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
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)
是什么导致了这种不匹配 您可能有一个重复的索引,它允许您的最终形状大于传递的列表 可复制示例:
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
现在
多指标是国家、地区。在完整的数据集中,似乎不可能有两个区域处于相同的状态,名称相同。此外,您的示例没有使用元组来调用multi-index.Welp,您是正确的。两个克林顿,纽约。也许我自己会发现这一点。谢谢你说得对。
>>> x=[0,1,2];len(x)
3
>>> df.loc[x,:].shape
(4, 1)