import pandas as pd
letter = ['A', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'F', 'G']
number = [10,11,5,6,15,15,20,20,25,28]
data = {'letter': letter, 'number': number}
df = pd.DataFrame(data)
def relationship(letter, number):
number_of_letters = {}
number_of_numbers = {}
relationship = []
for i in letter:
if i in number_of_letters:
number_of_letters[i] += 1
else:
number_of_letters[i] = 1
for i in number:
if i in number_of_numbers:
number_of_numbers[i] += 1
else:
number_of_numbers[i] = 1
for i in range(len(letter)):
if number_of_letters[letter[i]] == 1 and number_of_numbers[number[i]] == 1:
relationship.append('One to One')
elif number_of_letters[letter[i]] > 1 and number_of_numbers[number[i]] == 1:
relationship.append('One to Many')
elif number_of_letters[letter[i]] == 1 and number_of_numbers[number[i]] > 1:
relationship.append('Many to One')
elif number_of_letters[letter[i]] > 1 and number_of_numbers[number[i]] > 1:
relationship.append('Many to Many')
return relationship
df['relationship'] = relationship(letter, number)
您可以编写如下函数:
这可能是你的解决方案
相关问题 更多 >
编程相关推荐