使用pandas python

时间:2018-04-16 10:50:06

标签: python pandas logic

我附上了excel文件的屏幕截图。它包含三列中的x,y和z值。我想要检查的是存在多少个功能循环,意味着“(x> x),(x> y,y> x),(x> y,x> y1),(x> y,y> x1) ”。我想编写一个示例代码来检查此excel文件中存在的功能循环的数量。我写了一个示例代码来检查(x> x),但我无法为其他循环编写代码。任何帮助将不胜感激。

x> x的含义是第1列和第2列中的元素相等

(x> y,y> x)的含义是第1列中的元素映射到第2列中的元素,第2列中的相同元素映射到第1列中的相同元素

import pandas as pd
df = pd.read_csv('/home/amit/Desktop/playing_with_pandas.csv')
xy_data = df.iloc[:,0:2]
x>x = xy_data[xy_data.nunique(1).eq(1)]
print("the number of x>x are",x>x)

Screen shot of csv

1 个答案:

答案 0 :(得分:0)

x> x

(df.x == df.y).sum()

x> y,y> x

df.duplicated().sum()

x> y,x> y1

(df.y.groupby(df.x).nunique() > 1).sum()

x> y,x1> y

(df.x.groupby(df.y).nunique() > 1).sum()