比较datafram中的所有相邻列

2024-04-20 06:00:46 发布

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

我有以下数据帧

df = pd.DataFrame(np.random.choice(list('xyz'), (5, 4)), columns=list('ABCD'))

print df

   A  B  C  D
0  x  z  x  z
1  y  z  x  z
2  y  z  x  x
3  y  y  y  x
4  y  x  z  z

我想比较ABB与{},以及{}与{}。
我知道我可以df.A == df.B,但是有没有一种方法可以轻松地将所有列与其相邻的列进行比较?在

我想看看

^{pr2}$

我试过了

pd.concat([df.iloc[:, i] == df.iloc[:, i+1] for i in range(df.shape[1]-1)], axis=1, keys=df.columns.tolist()[1:])

我就是这样得到想要的输出的。效率很重要,所以我觉得我的努力不够。如果这些是floats或ints,我可以

df.diff(axis=1) == 0

但它们是弦


Tags: columns数据方法dataframedfnprandomlist