Python 如何识别和标记数据框中的相似行

Python 如何识别和标记数据框中的相似行,python,pandas,dataframe,Python,Pandas,Dataframe,我正在处理一个由两个熊猫数据帧组成的大型数据集。其中一个是从仪器中进行的测量,另一个是每次测量中存在的变量。目标是使用一些监督学习方法来预测给定测量值的变量。我还没有找到一种方法,在我曾经使用过的任何监督学习方法中使用多个变量作为“标签”或y值,例如scikit learn的随机森林分类器 作为一种解决方法,我试图一次只预测一个或两个变量,方法是创建一个表示类似行的新列。通过这种方式,我可以在学习方法中只输入一个实际代表两个变量的变量 我首先要说的是: a b 0 1 103 1

我正在处理一个由两个熊猫数据帧组成的大型数据集。其中一个是从仪器中进行的测量,另一个是每次测量中存在的变量。目标是使用一些监督学习方法来预测给定测量值的变量。我还没有找到一种方法,在我曾经使用过的任何监督学习方法中使用多个变量作为“标签”或y值,例如scikit learn的随机森林分类器

作为一种解决方法,我试图一次只预测一个或两个变量,方法是创建一个表示类似行的新列。通过这种方式,我可以在学习方法中只输入一个实际代表两个变量的变量

我首先要说的是:

   a    b
0  1  103
1  6  103
2  1   103
3  2   2
4  3   103
5  6   103
6  1   103
7  5   103
8  1    2
9  2    2
我想要的是:

   c    
0  1
1  2
2  1
3  3
4  4
5  2
6  1
7  5   
8  6
9  3

如果您知道如何使用多个标签或y变量进行监督学习,这也会非常有用

你的问题确实需要澄清,但由于它们是MIA,我将提前假设

假设

  • 左侧的列来自一个列表列表。我将把它命名为“列表主义者”
  • 每次找到唯一的内部列表时,都会为其指定一个新的整数类型标识符
  • 输出可以是一个列表列表,内部列表是包含前面找到的ID的单项列表。两个列表的顺序必须匹配


这就是你想要的吗?

你在这里问什么还不清楚。在您更好地描述您的问题之前,您不可能得到一个好的答案。欢迎使用堆栈溢出。这不是我们为您编写代码的服务,您必须付出一些努力。
alist_oflists = [[1, 1000], [2, 10], [2, 100], [2, 10], [3, 1000], [2, 100], [2, 10]]

# we need tuples instead of lists cause lists are not hashable (will be used as dict keys)
alist_oftuples = [tuple(x) for x in alist_oflists]

print(alist_oftuples) # prints:[(1, 1000), (2, 10), (2, 100), (2, 10), (3, 1000), (2, 100), (2, 10)]

a_dict = {}
i = 1
for items in alist_oftuples:
    if items in a_dict.keys():
        continue
    else:
        a_dict[items] = i
        i += 1

i_wanna_see_results = []
for item in alist_oftuples:
    i_wanna_see_results.append(a_dict[item])

print(i_wanna_see_results) # prints: [1, 2, 3, 2, 4, 3, 2]