我有一个pandas DataFrame
,它的排序、数值索引有重复项,并且给定列中相同索引值的列值是相同的。我想迭代给定列的值以获得索引的唯一值。在
示例
df = pd.DataFrame({'a': [3, 3, 5], 'b': [4, 6, 8]}, index=[1, 1, 2])
a b
1 3 4
1 3 6
2 5 8
我想遍历第a
列中索引-[3,5]
中的唯一项的值。在
当我使用默认值index
进行迭代并打印列a
的类型时,我得到重复索引项的系列条目。在
输出:
<class 'pandas.core.series.Series'>
<class 'pandas.core.series.Series'>
<class 'numpy.int64'>
首先按掩码删除重复的索引并按
arange
指定位置,然后用iloc
选择:无循环解决方案-将^{} 与^{} 一起使用,并使用
^{pr2}$~
反转掩码:如果按照您的评论,相同的索引意味着相同的数据,这看起来是一个XY Problem。在
你也不需要一个循环。在
假设您想删除重复的行并只提取第一列(即3,5),下面的内容就足够了。在
要返回类型:
^{pr2}$尝试
np.unique
:相关问题 更多 >
编程相关推荐