<p>这可能是你的解决方案</p>
<pre class="lang-py prettyprint-override"><code>
import pandas as pd
d1 = ['A','A','B','C','D','E','F','G','F','G']
d2 = [10,11,5,6,15,15,20,20,25,28]
df = pd.DataFrame(list(zip(d1,d2)), columns = ['col1', 'col2'])
df['one to one'] = (df.groupby('col2')['col1'].transform(lambda x:x.nunique()==1) & df.groupby('col1')['col2'].transform(lambda x:x.nunique()==1))
df['many to one'] = (df.groupby('col2')['col1'].transform(lambda x:x.nunique()>1) & df.groupby('col1')['col2'].transform(lambda x:x.nunique()==1))
df['one to many'] = (df.groupby('col1')['col2'].transform(lambda x:x.nunique()>1) & df.groupby('col2')['col1'].transform(lambda x:x.nunique()==1))
df['many to many'] = (df.groupby('col1')['col2'].transform(lambda x:x.nunique()>1) & df.groupby('col2')['col1'].transform(lambda x:x.nunique()>1))
import numpy as np
conditions = [
(df['one to one'] == True), (df['one to many'] == True),(df['many to one'] == True),(df['many to many'] == True)]
choices = ['one to one', 'one to many', 'many to one','many to many']
df['relation'] = np.select(conditions, choices)
df.drop(['one to one', 'one to many', 'many to one','many to many'], axis = 1)
</code></pre>
<p><a href="https://i.stack.imgur.com/Qjheo.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Qjheo.jpg" alt="output"/></a></p>