我有一个pandas DataFrame,我想检查行是否相同。这适用于数据帧中的3列。
A B C ...
1 1 1 ...
1 2 3 ...
1 4 4 ...
这应该带一个带
的面具True
False
False
答案 0 :(得分:5)
In [97]: df.eq(df.iloc[:, 0], axis=0).all(1)
Out[97]:
0 True
1 False
2 False
dtype: bool
答案 1 :(得分:4)
或者您可以使用$scope.editFunction = function(x,y){
console.clear();
$log.info(x);
$log.info(y);
};
nunique
答案 2 :(得分:3)
使用diff
df.diff(axis=1).fillna(0).eq(0).all(1)
0 True
1 False
2 False
dtype: bool
使用shift
df.eq(df.shift(axis=1)).iloc[:, 1:].all(1)
0 True
1 False
2 False
dtype: bool
使用std
(受@Wen启发)
df.std(1).eq(0)
0 True
1 False
2 False
dtype: bool
受到@MaxU的启发,其中含有大量令人讨厌的东西。
(lambda v, j: pd.Series((v == v[:, [0]]).all(1), j))(df.values, df.index)
0 True
1 False
2 False
dtype: bool
现在不那么讨厌了
v = df.values
pd.Series((v == v[:, [0]]).all(1), df.index)